[go: up one dir, main page]

WO2019171704A1 - 管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 - Google Patents

管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2019171704A1
WO2019171704A1 PCT/JP2018/046574 JP2018046574W WO2019171704A1 WO 2019171704 A1 WO2019171704 A1 WO 2019171704A1 JP 2018046574 W JP2018046574 W JP 2018046574W WO 2019171704 A1 WO2019171704 A1 WO 2019171704A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
script
monitoring
service providing
active
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2018/046574
Other languages
English (en)
French (fr)
Inventor
チューエン ファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2020504799A priority Critical patent/JPWO2019171704A1/ja
Publication of WO2019171704A1 publication Critical patent/WO2019171704A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Definitions

  • the present invention relates to a management server, a cluster system, a cluster system control method, and a program.
  • Patent Document 1 discloses a monitoring target server that is a computer to be monitored, a job monitoring server that is a computer that monitors jobs, and a remote monitoring server that is connected to the job monitoring server via a communication network.
  • a job monitoring system provided is disclosed.
  • the process of monitoring a server is also required in an HA (High Availability) cluster system.
  • the active server and the standby server each have clusterware. Then, the active server and the standby server communicate with each other via the network to configure the HA cluster system.
  • the active server monitors whether or not the local server can normally provide the business service
  • the standby server monitors whether or not the local server can normally take over the business service.
  • the monitoring agent process resides in the active server and the standby server in order to monitor business services, application software, middleware, hardware, and the like.
  • an agent for realizing a function such as an OS (Operating System) panic and a function such as data mirroring needs to be included in these servers. That is, it is necessary to install clusterware on the active server and the standby server.
  • OS Operating System
  • an HA cluster system that can avoid the occurrence of problems caused by the active server and the standby server having clusterware. It is an object of the present invention to provide a management server, a cluster system, a cluster system control method, and a program.
  • the management server includes a monitoring script for monitoring an operation of a service providing server that provides a predetermined service, and a control script for controlling the operation of the service providing server for failover.
  • a transmission processing means for performing processing to be transmitted to the service providing server; requesting the service providing server to execute the monitoring script and return the execution result; and based on the execution result, determine an operation state of the service providing server.
  • Server monitoring processing means for monitoring, and cluster control processing means for requesting the service providing server to execute the control script when the execution result of the monitoring script indicates an abnormality of the service providing server.
  • a cluster system includes an active server for providing a predetermined service, a standby server for providing the predetermined service, and failover in the active server and the standby server.
  • a management server that controls the first monitoring script for monitoring the operation of the active server, and a first server for controlling the operation of the active server for failover.
  • Server monitoring processing means for requesting execution of the monitoring script and a return of the execution result to the server, and monitoring operation states of the active server and the standby server based on the execution result, and the active server
  • the execution result of the monitoring script indicates an abnormality of the active server, it requests the active server to execute the first control script and requests the standby server to execute the second control script.
  • Cluster control processing means for requesting execution of the monitoring script and a return of the execution result to the server, and monitoring operation states of the active server and the standby server based on the execution result, and the active server.
  • a monitoring script for monitoring the operation of the service providing server that provides a predetermined service and a control script for controlling the operation of the service providing server for failover
  • request the service providing server to execute the monitoring script and return the execution result monitor the operation state of the service providing server based on the execution result, and
  • the control providing server is requested to execute the control script.
  • a program includes: a monitoring script for monitoring an operation of a service providing server that provides a predetermined service; and a control script for controlling the operation of the service providing server for failover.
  • a transmission processing step for performing processing to be transmitted to the service providing server, and requesting the service providing server to execute the monitoring script and return the execution result, and monitor the operation state of the service providing server based on the execution result
  • a cluster control processing step for requesting the service providing server to execute the control script when the execution result of the monitoring script indicates an abnormality of the service providing server.
  • the management server, the cluster system, and the cluster system that can realize the HA cluster system that can avoid the occurrence of problems caused by the active server and the standby server having clusterware.
  • a control method and a program can be provided.
  • FIG. 1 is a block diagram illustrating an example of an HA cluster system according to a first embodiment; It is a block diagram which shows an example of the hardware constitutions of the operation management server concerning embodiment.
  • FIG. 3 is a flowchart showing a failover operation in the HA cluster system according to the first exemplary embodiment
  • 6 is a flowchart showing operations related to script execution in the HA cluster system according to the first exemplary embodiment
  • It is a block diagram which shows an example of the HA cluster system concerning Embodiment 2.
  • FIG. 10 is a flowchart showing server monitoring and server control operations using BMC in the HA cluster system according to the second exemplary embodiment
  • FIG. 6 is a block diagram illustrating an example of an HA cluster system according to a third embodiment.
  • FIG. 1 is a block diagram illustrating an example of the configuration of the management server 1 according to the outline of the embodiment.
  • the management server 1 includes a transmission processing unit 2, a server monitoring processing unit 3, and a cluster control processing unit 4.
  • the management server 1 is connected to a service providing server (not shown in FIG. 1) constituting the HA cluster system so as to be capable of wired or wireless communication.
  • the service providing server is, for example, a server that provides a predetermined service to a client device (not shown).
  • the transmission processing unit 2 performs processing for transmitting a monitoring script for monitoring the operation of the service providing server and a control script for controlling the operation of the service providing server to the service providing server.
  • the server monitoring processing unit 3 requests the service providing server to execute the monitoring script and return the execution result. Therefore, the service providing server executes the monitoring script transmitted from the management server 1, confirms the operation state of the service providing server, and returns the confirmation result to the management server 1. And the server monitoring process part 3 monitors the operation state of a service provision server based on the returned execution result.
  • the cluster control processing unit 4 requests the service providing server to execute a control script for performing failover when the execution result of the monitoring script indicates an abnormality of the service providing server.
  • the cluster control processing unit 4 is not limited to failover control as a series of recovery operations including starting and stopping of services in the event of an abnormality, and may perform other controls.
  • the cluster control processing unit 4 may perform service start control or service transition (service start and stop) control during normal operation.
  • the management server 1 determines whether or not the service providing server is in an abnormal state, and the management server 1 controls the execution of failover. That is, the management server 1 monitors the OS function provision state and the service function provision state of the service providing server via the network, and when a failure is detected, the management server 1 can control the system recovery operation. .
  • the management server 1 is provided with clusterware, and the service providing server may not have clusterware. Thereby, the HA cluster system can be provided in an agentless manner.
  • a cluster system that does not include the management server 1 and has clusterware in the service providing server (hereinafter referred to as a cluster system according to a comparative example)
  • the service providing server is restarted and the system is installed by installing the clusterware and constructing the cluster. Stops. Therefore, there is a tendency to migrate to a new system after constructing a completely new cluster environment without using the existing environment.
  • agentless type clusterware it is not necessary to install the clusterware for each managed server (that is, the service providing server), and only the management server 1 needs to be installed. For this reason, it does not affect the existing environment such as system shutdown. And it is not necessary to construct a completely new environment, and the existing environment can be used effectively. Even if clusterware version upgrade or maintenance is required, system installation or installation for each managed server is not required. As a result, introduction and operation costs can be reduced. Therefore, maintenance and system expansion can be easily performed.
  • the life confirmation process between the service providing servers and the alive monitoring process for monitoring the monitoring process are periodically performed, which may cause an excessive load on the service providing server. is there. For this reason, if the service providing server has few resources, monitoring may fail and it may be erroneously determined that a failure has occurred.
  • the main processing for realizing high availability is performed by the management server 1, so that the load applied to the service providing server (that is, the cluster server) is suppressed. be able to.
  • FIG. 2 is a block diagram of an example of the HA cluster system 10 according to the first embodiment.
  • FIG. 3 is a block diagram illustrating an example of a hardware configuration of the operation management server 100.
  • the HA cluster system 10 includes an operation management server 100, an active business server 200, and a standby business server 300.
  • the active business server 200 and the standby business server 300 are servers for providing predetermined business services, and the operation management server 100 controls a failover or the like in the active business server 200 and the standby business server 300. It is a server.
  • the operation management server 100, the active business server 200, and the standby business server 300 are connected to the network 400.
  • the operation management server 100, the active business server 200, and the standby business server 300 are connected to each other via a network 401.
  • the operation management server 100 corresponds to the management server 1 in FIG. 1, and the active business server 200 and the standby business server 300 correspond to the service providing server described above.
  • the active business server 200 and the standby business server 300 are cluster servers, and the active system and the standby system are switched by failover. That is, due to the failover, the active business server 200 is switched to the standby system, and the standby business server 300 is switched to the active system.
  • the active business server 200 and the standby business server 300 may be referred to as managed servers.
  • the network 400 is a public LAN (Local Area Network) that can be connected to a client device (not shown).
  • the active business server 200 provides business services to client devices via the network 400.
  • the network 400 is also used for monitoring from the operation management server 100 the business service provision status by the active business server 200.
  • the network 401 is an interconnect LAN that interconnects the operation management server 100, the active business server 200, and the standby business server 300.
  • the network 401 is used for internal communication (communication used for server monitoring, business service control, cluster control, etc.) between the operation management server 100 and the active business server 200 or the standby business server 300.
  • the operation management server 100 is provided with clusterware 110.
  • the clusterware 110 includes a cluster control unit 111, a business service control unit 112, a server monitoring unit 113, an internal monitoring unit 114, a script execution unit 115, a server communication unit 116, and a script storage unit 117.
  • the cluster control unit 111 performs various processes for controlling the HA cluster system 10. That is, the cluster control unit 111 controls, for example, the execution of failover.
  • the business service control unit 112 controls starting and stopping of the business service providing unit 201 of the active business server 200 and the business service providing unit 301 of the standby business server 300.
  • the server monitoring unit 113 monitors the operating state of the active business server 200 and the standby business server 300. For example, the server monitoring unit 113 determines whether or not the business service is normally provided in the active business server 200, and no abnormality such as hardware or software has occurred in the active business server 200 and the standby business server 300. To monitor.
  • the internal monitoring unit 114 (also referred to as an internal monitoring processing unit) monitors the operation states of the cluster control unit 111, the business service control unit 112, and the server monitoring unit 113.
  • the internal monitoring unit 114 preferably monitors all of the cluster control unit 111, the business service control unit 112, and the server monitoring unit 113, but may monitor only a part of these operating states, The operating status of other units may be monitored.
  • the internal monitoring unit 114 may notify the other devices or the operation manager of the occurrence of the abnormality.
  • the internal monitoring unit 114 performs alive monitoring of the processes of the cluster control unit 111, the business service control unit 112, and the server monitoring unit 113.
  • the script execution unit 115 executes the script stored in the script storage unit 117.
  • the script execution unit 115 executes a script for monitoring the active business server 200 and the standby business server 300 in response to a request from the server monitoring unit 113.
  • the script execution unit 115 executes a script for starting or stopping the business service providing units 201 and 301 in the active business server 200 or the standby business server 300 in response to a request from the business service control unit 112.
  • the script execution unit 115 generates a script from the setting file, and performs processing such as encrypting the generated script with a predetermined key.
  • the server communication unit 116 performs communication establishment processing and disconnection processing with other servers.
  • the script storage unit 117 is a storage area for storing a script and a setting file serving as a basis for generating the script.
  • the active business server 200 includes a business service providing unit 201, a script execution unit 202, and a script storage unit 203.
  • the standby business server 300 also includes a business service providing unit 301, a script execution unit 302, and a script storage unit 303.
  • the business service providing units 201 and 301 provide a predetermined business service to a client device (not shown) connected to the network 400 via the network 400. That is, the business service providing units 201 and 301 are application programs that provide a predetermined business service.
  • the script execution unit 202 executes the script stored in the script storage unit 203 in response to a request from the operation management server 100.
  • the script execution unit 302 executes the script stored in the script storage unit 303 in response to a request from the operation management server 100.
  • the script execution unit 202 executes a script for checking the operating state of the active business server 200 and a script for starting or stopping the business service providing unit 201.
  • the script execution unit 302 executes a script for checking the operating state of the standby business server 300 and a script for starting or stopping the business service providing unit 301.
  • script execution units 202 and 302 are not resident processes, but are temporarily created in response to a request from the operation management server 100, and execute the scripts in the script storage units 203 and 303.
  • the script storage units 203 and 303 are storage areas for storing scripts received from the operation management server 100.
  • the operation management server 100 includes, for example, a network interface 150, a memory 151, and a processor 152.
  • the operation management server 100 may include a storage device such as a hard disk drive.
  • the network interface 150 is used for communication via the networks 400 and 401.
  • the network interface 150 may include, for example, a network interface card (NIC).
  • NIC network interface card
  • the memory 151 is composed of a combination of a volatile memory and a nonvolatile memory.
  • Memory 151 may include storage located remotely from processor 152. In this case, the processor 152 may access the memory 151 via an input / output interface (not shown).
  • the memory 151 is used for storing software (computer program) including one or more instructions executed by the processor 152, for example.
  • Non-transitory computer readable media include various types of tangible storage media (tangible storage medium). Examples of non-transitory computer-readable media are magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), Compact Disc Read Only Memory (CD-ROM), CD-ROM R, CD-R / W, semiconductor memory (for example, mask ROM, Programmable ROM (PROM), Erasable PROM (EPROM), flash ROM, Random Access Memory (RAM)).
  • 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 processor 152 may be, for example, a microprocessor, an MPU (Micro Processor Unit), or a CPU (Central Processing Unit).
  • the processor 152 may include a plurality of processors.
  • the processor 152 reads out and executes the computer program from the memory 151, thereby executing processing of the cluster control unit 111, the business service control unit 112, the server monitoring unit 113, the internal monitoring unit 114, the script execution unit 115, and the server communication unit 116. I do.
  • the script storage unit 117 is realized by the memory 151, for example.
  • the active business server 200 and the standby business server 300 also have the same hardware configuration as the configuration shown in FIG. For this reason, the processor of the active business server 200 performs the processing of the business service providing unit 201 and the script execution unit 202 by reading and executing the computer program from the memory.
  • the script storage unit 203 is realized by the memory of the active business server 200, for example.
  • the processor of the standby business server 300 performs the processing of the business service providing unit 301 and the script execution unit 302 by reading and executing the computer program from the memory.
  • the script storage unit 303 is realized by the memory of the standby business server 300, for example.
  • FIG. 4 is a flowchart showing a flow of operation of cluster construction processing in the HA cluster system 10. With this construction process, a script is placed on each server. Hereinafter, the flow of the operation will be described with reference to FIG.
  • step 100 the operation manager inputs setting information related to monitoring required for cluster construction via a GUI (Graphical User Interface) of the operation management server 100.
  • GUI Graphic User Interface
  • the operation administrator can monitor the target (server name, business service, disk, processor, etc.), monitor settings (interval, timeout, retry count, etc.), and take action when a failure occurs (process restart, failover) , Server restart, etc.).
  • step 101 when receiving an input from the GUI, the cluster control unit 111 requests the script execution unit 115 to create a setting file according to the input content.
  • step 102 the script execution unit 115 creates a setting file based on the input content by executing a predetermined script for setting file generation, and stores the setting file in the script storage unit 117.
  • step 103 the cluster control unit 111 requests the script execution unit 115 to generate a script for executing processing according to the setting file. Then, the script execution unit 115 executes a predetermined script for script generation.
  • step 104 the script execution unit 115 acquires the setting file from the script storage unit 117, and in step 105 (S105), generates a script that can execute processing according to the setting file.
  • the script execution unit 115 stores the generated script in the script storage unit 117.
  • step 106 the cluster control unit 111 requests the script execution unit 115 to transfer the script for the management target server generated in step 105.
  • the script execution unit 115 transfers the script to the management target server (the active business server 200 and the standby business server 300) as follows by executing a predetermined script for transfer.
  • step 107 the script execution unit 115 acquires a script for the management target server from the script storage unit 117, and in step 108 (S108), encrypts the script using a predetermined secret key.
  • step 109 the script execution unit 115 transfers the encrypted script to the management target server.
  • the active business server 200 stores the received script in the script storage unit 203, and the standby business server 300 stores the received script in the script storage unit 303. Therefore, in this embodiment, it is not necessary to transfer the script every time the script is executed on the managed server, and the time required until the script is executed can be suppressed. Moreover, since the encrypted script is memorize
  • the cluster control unit 111 and the script execution unit 115 correspond to the transmission processing unit 2 in FIG. That is, the cluster control unit 111 and the script execution unit 115 perform processing for transmitting a monitoring script for monitoring the operation of the managed server (the status of the managed server) to the managed server.
  • the cluster control unit 111 and the script execution unit 115 provide a control script for controlling the operation of the managed server with respect to failover (for example, starting and stopping of the business service providing units 201 and 301). Process to send to.
  • the cluster control unit 111 When changing the cluster setting, the cluster control unit 111 requests the script execution unit 115 to update the setting file based on the changed content. In response to this, the script execution unit 115 performs the same processing as described above, and again transfers the encrypted script to the management target server.
  • FIG. 5 is a flowchart showing a flow of cluster start-up operation in the HA cluster system 10. Hereinafter, the flow of the operation will be described with reference to FIG.
  • step 200 (S200) the internal monitoring unit 114 starts monitoring the operation state of the cluster control unit 111. That is, the internal monitoring unit 114 starts alive monitoring of the process of the cluster control unit 111.
  • step 201 the cluster control unit 111 activates the business service control unit 112. That is, the cluster control unit 111 starts the process of the business service control unit 112.
  • step 202 the internal monitoring unit 114 starts monitoring the operating state of the business service control unit 112. That is, the internal monitoring unit 114 starts alive monitoring of the process of the business service control unit 112.
  • step 203 the cluster control unit 111 requests the business service control unit 112 to start the business service providing unit 201 in the active business server 200.
  • step 204 the business service control unit 112 requests the script execution unit 115 to start the business service providing unit 201 in the active business server 200.
  • step 205 the script execution unit 115 requests the active business server 200 by executing a script that requests the active business server 200 to start the business service providing unit 201.
  • step 206 the script execution unit 202 of the active business server 200 that has received the request from the operation management server 100 acquires the script for starting up the business service providing unit 201 from the script storage unit 203.
  • the script for starting the business service providing unit 201 is stored in the script storage unit 203 in advance by the process shown in FIG.
  • step 207 the script execution unit 202 of the active business server 200 activates the business service providing unit 201 by executing the acquired script.
  • provision of the business service via the network 400 from the active business server 200 to the client device (user) is started (step 208 (S208)).
  • the cluster control unit 111 of the operation management server 100 that has requested the activation of the business service providing unit 201 activates the server monitoring unit 113 in step 209 (S209). That is, the cluster control unit 111 starts the process of the server monitoring unit 113.
  • the internal monitoring unit 114 starts monitoring the operation state of the server monitoring unit 113 in step 210 (S210). That is, the internal monitoring unit 114 starts alive monitoring of the process of the server monitoring unit 113.
  • FIG. 6 is a flowchart showing the flow of the monitoring operation in the HA cluster system 10. Hereinafter, the flow of the operation will be described with reference to FIG. Note that the operation shown in FIG. 6 is repeatedly executed in order to continuously monitor.
  • step 300 the server monitoring unit 113 requests the script execution unit 115 to check the business service provision status by the active business server 200. Specifically, the script execution unit 115 is requested to confirm whether or not the business service provided by the business service providing unit 201 of the active business server 200 can be accessed from the operation management server 100 via the network 400. .
  • step 301 the script execution unit 115 confirms the access path to the business service by executing a predetermined script for confirming the provision state of the business service. As a result, it is confirmed whether the business service of the active business server 200 can be accessed normally via the network 400.
  • a monitoring script is executed in the active business server 200 and the standby business server 300.
  • the server monitoring unit 113 requests the script execution unit 115 to confirm the operating state of the management target server (the active business server 200 and the standby business server 300).
  • the script execution unit 115 executes the predetermined script for requesting the operation confirmation, thereby operating the management target server (the active business server 200 and the standby business server 300).
  • Request confirmation That is, the script execution unit 115 requests the active business server 200 to execute a script for monitoring the active business server 200, and requests the standby business server 300 to monitor the standby business server 300. Request execution.
  • step 304 the management target server (the active business server 200 and the standby business server 300) checks the status of its own device by executing a monitoring script.
  • the script execution unit 202 of the active business server 200 that has received a request from the operation management server 100 acquires a monitoring script from the script storage unit 203.
  • the script execution unit 202 of the active business server 200 confirms the operating state of the active business server 200 by executing the acquired script.
  • the script execution unit 302 of the standby business server 300 that has received a request from the operation management server 100 acquires a monitoring script from the script storage unit 303.
  • the script execution unit 302 of the standby business server 300 confirms the operation state of the standby business server 300 by executing the acquired script.
  • the monitoring script is stored in advance in the script storage units 203 and 303 by the process shown in FIG.
  • status information such as hardware and software of the managed server is acquired. Specifically, for example, status information such as the alive state of the application process, the operation state of the access path to the disk, the link state of the LAN cable, and the NIC state is acquired.
  • the script execution units 202 and 302 transmit the execution result of the monitoring script, that is, the status information of the management target server, to the operation management server 100, and this is acquired by the script execution unit 115 of the operation management server 100 (step 305 ( S305)).
  • step 306 the script execution unit 115 outputs the result obtained in step 301 and the result obtained in step 305 to the server monitoring unit 113 as monitoring information.
  • step 307 the server monitoring unit 113 determines whether the management target server is normal based on the monitoring information acquired in step 306, that is, whether a failure has occurred. judge. Note that the determination in step 307 may be performed by analyzing monitoring information (for example, comparing a monitoring result expected when the management target server is normal and an actual monitoring result).
  • the server monitoring unit 113 and the script execution unit 115 correspond to the server monitoring processing unit 3 in FIG. That is, the server monitoring unit 113 and the script execution unit 115 request the management target server to execute a monitoring script and return the execution result, and monitor the operation state of the management target server based on the execution result.
  • FIG. 7 is a flowchart showing a failover operation in the HA cluster system 10.
  • the HA cluster system 10 performs the following processing when a failure occurs in the active business server 200. That is, if a failure of the active business server 200 is detected in step 307 of FIG. 6, the HA cluster system 10 performs the following processing.
  • the flow of the operation will be described with reference to FIG.
  • step 400 the server monitoring unit 113 that has detected that a failure has occurred in the active business server 200 notifies the cluster control unit 111 of the occurrence of an abnormality.
  • step 401 the cluster control unit 111 that has received the notification of the occurrence of the abnormality requests the server monitoring unit 113 to check whether the standby business server 300 can normally take over the business service.
  • the server monitoring unit 113 determines whether the standby business server 300 can normally take over the business service based on the state of the standby business server 300 obtained in step 307 of FIG. When the standby business server 300 is normal, the server monitoring unit 113 determines that the standby business server 300 can normally take over the business service.
  • the cluster control unit 111 requests the business service control unit 112 to perform a failover. Specifically, the following processing is performed, and the system state is switched from providing the business service by the active business server 200 to providing the business service by the standby business server 300.
  • step 402 the cluster control unit 111 requests the business service control unit 112 to control to stop providing the business service by the active business server 200.
  • step 403 the business service control unit 112 requests the script execution unit 115 to stop the business service providing unit 201 in the active business server 200.
  • step 404 the script execution unit 115 requests the active business server 200 by executing a script that requests the active business server 200 to stop the business service providing unit 201. That is, the script execution unit 115 requests the active business server 200 to execute a script for stopping the business service providing unit 201.
  • step 405 the script execution unit 202 of the active business server 200 that has received the request executes a script for stopping the business service providing unit 201. That is, the script execution unit 202 of the active business server 200 that has received the request from the operation management server 100 acquires the script for stopping the business service providing unit 201 from the script storage unit 203. Then, the script execution unit 202 of the active business server 200 stops the provision of the business service by the active business server 200 by executing the acquired script.
  • the stop script is stored in advance in the script storage unit 203 by the process shown in FIG.
  • step 406 the cluster control unit 111 requests the business service control unit 112 to control the start of provision of business service by the standby business server 300.
  • the business service control unit 112 requests the script execution unit 115 to start the business service providing unit 301 in the standby business server 300 in step 407 (S407).
  • step 408 the script execution unit 115 requests the standby business server 300 by executing a script that requests the standby business server 300 to start the business service providing unit 301. That is, the script execution unit 115 requests the standby business server 300 to execute a script for starting the business service providing unit 301.
  • step 409 the script execution unit 302 of the standby business server 300 that has received the request executes a script for starting the business service providing unit 301.
  • the script execution unit 302 of the standby business server 300 that has received a request from the operation management server 100 acquires a startup script for the business service providing unit 301 from the script storage unit 303.
  • the script execution unit 302 of the standby business server 300 starts providing the business service by the standby business server 300 by executing the acquired script.
  • the startup script is stored in advance in the script storage unit 303 by the process shown in FIG. In this way, the business service can be provided from the standby business server 300, and the failover is completed.
  • the cluster control unit 111, the business service control unit 112, and the script execution unit 115 correspond to the cluster control processing unit 4 in FIG. That is, when the active business server 200 is abnormal, the cluster control unit 111, the business service control unit 112, and the script execution unit 115 request the managed server to execute a script for performing a failover.
  • FIG. 8 is a flowchart showing operations related to script execution in the HA cluster system 10.
  • the upper part shows an operation flow when the operation management server 100 causes the managed server to execute the script
  • the lower part shows an operation flow when the operation management server 100 executes the script.
  • step 500 the script execution unit 115 of the operation management server 100 requests the server communication unit 116 to establish a communication session with the managed server.
  • step 501 the server monitoring unit 113 establishes a communication session to the management target server, that is, the active business server 200 or the standby business server 300.
  • the server communication unit 116 establishes a communication session on the network 400 (public LAN). In other cases, the server communication unit 116 establishes a communication session in the network 401 (interconnect LAN).
  • step 502 the script execution unit 115 requests the script execution unit 202 or 302 of the managed server to execute the script according to the request from the business service control unit 112 or the server monitoring unit 113. .
  • the script execution unit 115 transmits a key necessary for decrypting the encrypted script stored in the script storage units 203 and 303.
  • step 503 the script execution units 202 and 302 acquire the scripts from the script storage units 203 and 303.
  • step 504 the received key is used to decrypt the script
  • step 505 the decrypted script is executed.
  • step 506 the script execution units 202 and 302 transmit the script execution results to the script execution unit 115 of the operation management server 100.
  • step 507 the script execution unit 115 that has acquired the execution result from the management target server requests the server communication unit 116 to disconnect the communication session to the management target server.
  • step 508 the server monitoring unit 113 disconnects the communication session to the management target server.
  • the script execution unit 115 that has acquired the execution result outputs the execution result to the business service control unit 112 or the server monitoring unit 113 that is the request source.
  • the script is executed by remote login from the operation management server 100 to the management target server.
  • SSH Secure Shell
  • step 550 the script execution unit 115 acquires the script to be executed from the script storage unit 117.
  • step 551 the script execution unit 115 executes the acquired script.
  • process monitoring monitoring by the internal monitoring unit 114) of the clusterware 110 in the operation management server 100 is executed.
  • the execution result of the script execution unit 115 is output to the internal monitoring unit 114 as the request source.
  • the operation management server 100 is provided with the clusterware 110 described above, and the managed server sends a script and returns an execution result in response to a request from the clusterware 110. Do. For this reason, it is possible to avoid the occurrence of problems caused by the managed server having clusterware (for example, problems that the existing environment cannot be effectively used and the processing load of the clusterware is applied).
  • the operation management server 100 performs the business by the managed server via the network 400 that is used to provide the business service to the client device. Monitor service delivery status.
  • the operation management server 100 detects that the business service is not normally provided by the managed server through such monitoring, the operation management server 100 executes a script for controlling the operation of the managed server for failover. To the managed server.
  • the HA cluster system 10 is accessed in the same way as an actual external client device, it can more accurately determine whether the business service can be normally provided.
  • Embodiment 2 Next, a second embodiment will be described. In the following description, the description of the same configuration and operation as those in Embodiment 1 is omitted.
  • the present embodiment is different from the above-described embodiment in that the operation management server performs processing for a BMC (Baseboard Management Controller) included in the management target server.
  • BMC Baseboard Management Controller
  • FIG. 9 is a block diagram of an example of the HA cluster system 20 according to the second embodiment.
  • the active business server 200 includes a BMC 204, and similarly, the standby business server 300 includes a BMC 304.
  • the BMCs 204 and 304 operate independently of the OS, and perform a monitoring function of hardware constituting the server such as a processor and a memory, and control of starting and stopping of the server.
  • the BMCs 204 and 304 comply with, for example, the IPMI (Intelligent Platform Management Interface) standard, and are connected to a network 402 that is a LAN (BMC LAN) for communication with the BMC.
  • IPMI Intelligent Platform Management Interface
  • the BMCs 204 and 304 provide the operation management server 100 with a failure notification function and a remote control function even when the OS of the management target server is down due to a hardware failure or the like.
  • the OS of the managed server goes down, it becomes impossible to monitor and control the managed server by causing the managed server to execute a script from the operation management server 100 via the network 401.
  • the managed server is monitored and controlled from the operation management server 100 via the network 402 as shown in FIG. Life-and-death monitoring, forced stop, etc.).
  • FIG. 10 is a flowchart showing server monitoring and server control operations using BMC in the HA cluster system 20. Hereinafter, the flow of the operation will be described with reference to FIG.
  • step 600 the server monitoring unit 113 requests the script execution unit 115 to check the operation state of the management target server (the active business server 200 and the standby business server 300).
  • step 601 the script execution unit 115 executes a predetermined script for requesting status information of the management target server. That is, the script execution unit 115 transmits a command (monitoring IPMI command) for acquiring the operation state of the managed server from the BMCs 204 and 304 via the network 402.
  • step 602 the BMCs 204 and 304 that have received the command acquire monitoring information (also referred to as status information) that is various pieces of hardware information (CPU information, memory information, OS status, etc.).
  • step 603 the BMCs 204 and 304 transmit monitoring information to the operation management server 100.
  • step 604 the script execution unit 115 of the operation management server 100 that has acquired the monitoring information from the BMCs 204 and 304 outputs the monitoring information to the server monitoring unit 113.
  • step 605 the server monitoring unit 113 analyzes the monitoring information acquired in step 604 and confirms the state of the management target server. That is, the server monitoring unit 113 determines whether or not the managed server is normal, that is, whether or not a failure has occurred.
  • the server monitoring unit 113 detects an abnormality of the management target server in step 605, the server monitoring unit 113 notifies the cluster control unit 111 of the occurrence of the abnormality in the management target server in step 606 (S606).
  • the cluster control unit 111 that has received the notification requests the script execution unit 115 to perform processing (such as restart of the management target server) when a failure occurs.
  • the script execution unit 115 executes a predetermined script for requesting the BMCs 204 and 304 to perform processing when a failure occurs.
  • the script execution unit 115 transmits a power-off command or a power-on command (IPMI command for power control) of the management target server to the BMCs 204 and 304 via the network 402, for example.
  • the BMCs 204 and 304 that have received the command perform power control of the management target server.
  • the managed server in which the failure has occurred is restarted.
  • the active business server 200 in which the failure has occurred is stopped and the standby business server 300 is started.
  • IP Internet Protocol
  • step 609 When the processing by the BMCs 204 and 304 in step 609 is performed, the execution result of the processing is returned to the script execution unit 115 of the operation management server 100 in step 610 (S610). In step 611 (S611), the cluster control unit 111 acquires the execution result from the script execution unit 115.
  • the operation management server 100 requests the BMC of the managed server to return the status information of the managed server, and monitors the status of the managed server based on the status information. .
  • the operation management server 100 requests the BMC to control the power of the managed server. According to such a configuration, it is possible to appropriately cope with a situation in which a monitoring or control script cannot be executed on the managed server.
  • Embodiment 3 will be described.
  • the present embodiment is different from the first embodiment in that any server that provides business services is also used as an operation management server.
  • differences from the first embodiment will be described, and description of configurations and operations similar to those of the first embodiment will be omitted.
  • FIG. 11 is a block diagram of an example of the HA cluster system 30 according to the third embodiment.
  • the HA cluster system 30 includes an operation management / standby business server 500 and an active business server 200.
  • the operation management / standby business server 500 is different from the operation management server 100 according to the first embodiment in that it includes a business service providing unit 120 in addition to the clusterware 110. That is, the operation management / standby business server 500 can be said to be a server in which the business service providing unit 120 is added to the operation management server 100 according to the first embodiment.
  • the business service providing unit 120 performs the same operation as the business service providing units 201 and 301 described above.
  • the server monitoring unit 113 sends a script to the script execution unit 115 in the same manner as the operation shown in the lower part of FIG. A request is made to execute the script in the storage unit 117 locally. Also, when starting or stopping the business service providing unit 120, the script execution unit 115 is requested to execute the script in the script storage unit 117 locally as in the operation illustrated in the lower part of FIG.
  • the server for operation management since the server for operation management has the business service providing unit 120, the server can be used not only for operation management but also as a standby server. Further, according to such a configuration, the number of servers prepared as standby servers can be reduced, so that the system introduction cost can be suppressed.
  • 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.
  • the control using the BMC described in the second embodiment may be performed.

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)
  • Debugging And Monitoring (AREA)

Abstract

現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるHAクラスタシステムを実現する。管理サーバ(1)は、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理部(2)と、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理部(3)と、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理部(4)とを有する。

Description

管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体
 本発明は管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムに関する。
 サーバの監視に関する技術として様々技術が提案されている。例えば、特許文献1は、監視対象のコンピュータである監視対象サーバと、ジョブを監視するコンピュータであるジョブ監視サーバと、通信回線網を介してこのジョブ監視サーバと接続される遠隔監視サーバと、を備えるジョブ監視システムについて開示している。
 ところで、サーバを監視する処理は、HA(High Availability:高可用性)クラスタシステムにおいても必要とされる。一般的に、HAクラスタシステムにおいては、現用系サーバと待機系サーバが、それぞれクラスタウェアを有している。そして、現用系サーバと待機系サーバがネットワーク経由で相互通信することで、HAクラスタシステムを構成する。このような構成のHAクラスタシステムでは、現用系サーバは自サーバで正常に業務サービスを提供できているかどうかを監視し、待機系サーバは自サーバが正常に業務サービスを引き継げるかどうかを監視する。
 このような構成のHAクラスタシステムでは、業務サービス、アプリケーションソフトウェア、ミドルウェア、ハードウェアなどの監視を行うために、監視用エージェントプロセスを現用系サーバ及び待機系サーバに常駐することとなる。また、OS(Operating System)パニック発生時の対処やデータミラーリング等の機能を実現するためのエージェントもこれらのサーバに入れておく必要がある。すなわち、クラスタウェアを現用系サーバ及び待機系サーバにインストールしておく必要がある。
特開2011-159011号公報
 このように、上述したHAクラスタシステムを構築する場合には、管理対象のサーバ(現用系サーバ及び待機系サーバ)へのクラスタウェアのインストールが必要とされる。このため、クラスタシステムとなっていない既存のシステムをクラスタシステムへと変更する場合、クラスタウェアのインストール及びクラスタの構築により、サーバの再起動及びシステムの停止が発生してしまう。また、上述したHAクラスタシステムではクラスタウェアによる処理による負荷が過大となる恐れがある。
 これに対し、特許文献1のジョブ監視システムは、HAクラスタシステムではない。このため、現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるHAクラスタシステムを実現するための技術が依然として求められている。
 そこで、本明細書に開示される実施形態が達成しようとする目的の1つは、現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるHAクラスタシステムを実現することができる管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムを提供することにある。
 第1の態様にかかる管理サーバは、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理手段と、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理手段と、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理手段とを有する。
 第2の態様にかかるクラスタシステムは、所定のサービスを提供するための現用系サーバと、前記所定のサービスを提供するための待機系サーバと、前記現用系サーバ及び前記待機系サーバにおけるフェールオーバーを制御する管理サーバと、を備え、前記管理サーバは、前記現用系サーバの動作を監視するための第1の監視スクリプトと、フェールオーバーについての前記現用系サーバの動作を制御するための第1の制御スクリプトとを前記現用系サーバに送信する処理と、前記待機系サーバの動作を監視するための第2の監視スクリプトと、フェールオーバーについての前記待機系サーバの動作を制御するための第2の制御スクリプトとを前記待機系サーバに送信する処理とを行う送信処理手段と、前記現用系サーバ及び前記待機系サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記現用系サーバ及び前記待機系サーバの動作状態を監視するサーバ監視処理手段と、前記現用系サーバの前記監視スクリプトの前記実行結果が前記現用系サーバの異常を示す場合、前記第1の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第2の制御スクリプトの実行を前記待機系サーバに要求するクラスタ制御処理手段とを有する。
 第3の態様にかかるクラスタシステムの制御方法では、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信し、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視し、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する。
 第4の態様にかかるプログラムは、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理ステップと、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理ステップと、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理ステップとをコンピュータに実行させる。
 上述の態様によれば、現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるHAクラスタシステムを実現することができる管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムを提供することができる。
実施形態の概要にかかる管理サーバの構成の一例を示すブロック図である。 実施の形態1にかかるHAクラスタシステムの一例を示すブロック図である。 実施の形態にかかる運用管理サーバのハードウェア構成の一例を示すブロック図である。 実施の形態1にかかるHAクラスタシステムにおけるクラスタの構築処理の動作の流れを示すフローチャートである。 実施の形態1にかかるHAクラスタシステムにおけるクラスタの起動の動作の流れを示すフローチャートである 実施の形態1にかかるHAクラスタシステムにおける監視動作の流れを示すフローチャートである。 実施の形態1にかかるHAクラスタシステムにおけるフェールオーバー動作を示すフローチャートである。 実施の形態1にかかるHAクラスタシステムにおけるスクリプトの実行に関する動作を示すフローチャートである。 実施の形態2にかかるHAクラスタシステムの一例を示すブロック図である。 実施の形態2にかかるHAクラスタシステムにおけるBMCを用いたサーバ監視及びサーバ制御の動作を示すフローチャートである。 実施の形態3にかかるHAクラスタシステムの一例を示すブロック図である。
<実施形態の概要>
 実施形態の説明に先立って、本発明にかかる実施形態の概要を説明する。
 図1は、実施形態の概要にかかる管理サーバ1の構成の一例を示すブロック図である。管理サーバ1は、送信処理部2と、サーバ監視処理部3と、クラスタ制御処理部4とを有する。管理サーバ1は、HAクラスタシステムを構成するサービス提供サーバ(図1において図示せず)と有線又は無線通信可能に接続される。なお、サービス提供サーバは、例えば、所定のサービスをクライアント装置(図示せず)に提供するサーバである。
 送信処理部2は、サービス提供サーバの動作を監視するための監視スクリプトと、サービス提供サーバの動作を制御するための制御スクリプトとを、サービス提供サーバに送信する処理を行う。
 サーバ監視処理部3は、サービス提供サーバに対し、監視スクリプトの実行及び実行結果の返信を要求する。したがって、サービス提供サーバは、管理サーバ1から送信された監視スクリプトを実行し、当該サービス提供サーバの動作状態を確認し、確認結果を管理サーバ1に返信することとなる。そして、サーバ監視処理部3は、返信された実行結果に基づいてサービス提供サーバの動作状態を監視する。
 クラスタ制御処理部4は、監視スクリプトの実行結果がサービス提供サーバの異常を示す場合、フェールオーバーを行うための制御スクリプトの実行をサービス提供サーバに要求する。なお、クラスタ制御処理部4は、異常時おけるサービスの起動及び停止を含む一連の回復動作としてのフェールオーバーの制御に限らず、他の制御を行ってもよい。例えば、クラスタ制御処理部4は、正常時において、サービスの開始制御又はサービス移行(サービスの起動及び停止)制御を行ってもよい。
 上述の管理サーバ1とサービス提供サーバを備えるHAクラスタシステムでは、管理サーバ1によってサービス提供サーバが異常状態であるか否かの判断が行われ、管理サーバ1によってフェールオーバーの実行が制御される。すなわち、管理サーバ1がネットワーク経由でサービス提供サーバのOS機能提供状態やサービス機能提供状態などを監視し、障害が検出された場合には、管理サーバ1がシステムの回復動作を制御することができる。このように、管理サーバ1にクラスタウェアが備えられ、サービス提供サーバはクラスタウェアを有さなくてもよい。これにより、HAクラスタシステムをエージェントレス方式で提供することができる。
 管理サーバ1を備えずサービス提供サーバにクラスタウェアを有するHAクラスタシステム(以下、比較例にかかるクラスタシステムと称す。)では、クラスタウェアのインストール及びクラスタの構築により、サービス提供サーバの再起動及びシステムの停止が発生しまう。そのため、既存環境を活用せず、完全に新規のクラスタ環境を構築してから新システムへと移行する傾向がある。
 一方、エージェントレス型のクラスタウェアの場合、管理対象サーバ(すなわち、サービス提供サーバ)毎にクラスタウェアをインストールする必要がなく、管理サーバ1のみにインストールすればよい。このため、システム停止など既存環境に影響を与えない。そして、完全に新規の環境を構築することも必要なく、既存環境を有効活用できる。クラスタウェアのバージョンアップやメンテナンスが必要な場合でも、システム停止や管理対象サーバ毎のインストール作業が不要になる。その結果、導入及び運用のコストを抑えることが可能となる。したがって、メンテナンス及びシステム拡大も簡単に行える。
 また、比較例にかかるクラスタシステムにおいては、定期的にサービス提供サーバ同士間の生存確認処理、監視プロセスを監視する死活監視処理が行われるため、サービス提供サーバに過大な負荷をかけてしまう恐れがある。このため、サービス提供サーバが備えるリソースが少ないと監視が失敗してしまい、障害が発生したと誤判定されることがある。
 これに対し、上述した管理サーバ1を有するHAクラスタシステムでは、高可用性を実現するための主な処理が管理サーバ1で行われるため、サービス提供サーバ(すなわち、クラスタサーバ)に与える負荷を抑制することができる。
 次に、実施の形態の詳細について説明する。
<実施の形態1>
 図2は、実施の形態1にかかるHAクラスタシステム10の一例を示すブロック図である。また、図3は、運用管理サーバ100のハードウェア構成の一例を示すブロック図である。
 図2に示すように、HAクラスタシステム10は、運用管理サーバ100と、現用系業務サーバ200と、待機系業務サーバ300とを有している。現用系業務サーバ200及び待機系業務サーバ300は、所定の業務サービスを提供するためのサーバであり、運用管理サーバ100は、現用系業務サーバ200及び待機系業務サーバ300におけるフェールオーバーなどを制御するサーバである。
 運用管理サーバ100、現用系業務サーバ200、及び待機系業務サーバ300は、ネットワーク400に接続されている。また、運用管理サーバ100、現用系業務サーバ200、及び待機系業務サーバ300は、ネットワーク401によって相互に接続されている。
 運用管理サーバ100は、図1の管理サーバ1に対応しており、現用系業務サーバ200及び待機系業務サーバ300は、上述のサービス提供サーバに対応している。なお、HAクラスタシステム10において、現用系業務サーバ200及び待機系業務サーバ300がクラスタサーバであり、フェールオーバーにより現用系と待機系の切り替えが行われる。すなわち、フェールオーバーにより、現用系業務サーバ200が待機系へと切り替わるとともに、待機系業務サーバ300が現用系へと切り替わる。
 なお、以下の説明では、現用系業務サーバ200及び待機系業務サーバ300について、管理対象サーバと称すことがある。
 ネットワーク400は、図示しないクライアント装置と接続可能なパブリックLAN(Local Area Network)である。現用系業務サーバ200は、ネットワーク400を介して業務サービスをクライアント装置に提供する。また、ネットワーク400は、現用系業務サーバ200による業務サービスの提供状態を運用管理サーバ100から監視するためにも用いられる。
 ネットワーク401は、運用管理サーバ100、現用系業務サーバ200、及び待機系業務サーバ300を相互に接続するインタコネクトLANである。ネットワーク401は、運用管理サーバ100と現用系業務サーバ200若しくは待機系業務サーバ300との内部通信(サーバの監視、業務サービスの制御、クラスタの制御などで用いられる通信)に利用される。
 図2に示すように、HAクラスタシステム10においては、運用管理サーバ100にクラスタウェア110が設けられている。クラスタウェア110は、クラスタ制御部111と、業務サービス制御部112と、サーバ監視部113と、内部監視部114と、スクリプト実行部115と、サーバ通信部116と、スクリプト記憶部117とを有する。
 クラスタ制御部111は、HAクラスタシステム10を制御するための各種処理を行う。すなわち、クラスタ制御部111は、例えば、フェールオーバーの実行の制御などを行う。
 業務サービス制御部112は、現用系業務サーバ200の業務サービス提供部201及び待機系業務サーバ300の業務サービス提供部301の起動及び停止を制御する。
 サーバ監視部113は、現用系業務サーバ200及び待機系業務サーバ300の動作状態を監視する。例えば、サーバ監視部113は、現用系業務サーバ200において正常に業務サービスが提供されているか否か、現用系業務サーバ200及び待機系業務サーバ300においてハードウェア及びソフトウェアなどの異常が発生していないかを監視する。
 内部監視部114(内部監視処理部とも称す)は、クラスタ制御部111、業務サービス制御部112、及びサーバ監視部113の動作状態を監視する。なお、内部監視部114は、クラスタ制御部111、業務サービス制御部112、及びサーバ監視部113の全てについて監視することが好ましいが、これらの一部のみの動作状態を監視してもよいし、他のユニットの動作状態を監視してもよい。
 また、内部監視部114は、これらの動作状態が異常であることを検知した場合、他の装置、又は運用管理者などに対し、異常の発生を報知してもよい。これにより、HAクラスタシステム10の異常が発生した場合の所定の処理の実行、又は運用管理者による所定の運用が可能となる。
 内部監視部114は、具体的には、クラスタ制御部111、業務サービス制御部112、及びサーバ監視部113のプロセスの死活監視を行う。
 スクリプト実行部115は、スクリプト記憶部117に記憶されたスクリプトを実行する。例えば、スクリプト実行部115は、サーバ監視部113の要求により、現用系業務サーバ200及び待機系業務サーバ300を監視するためのスクリプトを実行する。また、例えば、スクリプト実行部115は、業務サービス制御部112の要求により、現用系業務サーバ200又は待機系業務サーバ300における業務サービス提供部201、301の起動又は停止を行うためのスクリプトを実行する。また、スクリプト実行部115は、設定ファイルからスクリプトを生成し、生成したスクリプトを所定の鍵により暗号化するなどの処理を行う。
 サーバ通信部116は、他のサーバとの通信の確立処理及び切断処理などを行う。
 スクリプト記憶部117は、スクリプト及びスクリプトを生成するための基になる設定ファイルなどを記憶する記憶領域である。
 現用系業務サーバ200は、業務サービス提供部201と、スクリプト実行部202と、スクリプト記憶部203とを有する。同様に、待機系業務サーバ300も、業務サービス提供部301と、スクリプト実行部302と、スクリプト記憶部303とを有する。
 業務サービス提供部201、301は、所定の業務サービスをネットワーク400を介して、ネットワーク400に接続されたクライアント装置(図示せず)に提供する。すなわち、業務サービス提供部201、301は、所定の業務サービスを提供するアプリケーションプログラムである。
 スクリプト実行部202は、運用管理サーバ100からの要求に応じて、スクリプト記憶部203に記憶されたスクリプトを実行する。同様に、スクリプト実行部302は、運用管理サーバ100からの要求に応じて、スクリプト記憶部303に記憶されたスクリプトを実行する。例えば、スクリプト実行部202は、現用系業務サーバ200の動作状態をチェックするスクリプト、業務サービス提供部201の起動又は停止を行うスクリプトを実行する。同様に、スクリプト実行部302は、待機系業務サーバ300の動作状態をチェックするスクリプト、業務サービス提供部301の起動又は停止を行うスクリプトを実行する。なお、スクリプト実行部202、302は、常駐プロセスではなく、運用管理サーバ100からの要求に応じて一時に作成され、スクリプト記憶部203、303のスクリプトを実行する。
 スクリプト記憶部203、303は、運用管理サーバ100から受信したスクリプトを記憶する記憶領域である。
 図3に示すように、運用管理サーバ100は、例えば、ネットワークインタフェース150、メモリ151、及びプロセッサ152を含む。なお、運用管理サーバ100は、これ以外に、ハードディスクドライブなどの記憶装置を含んでもよい。
 ネットワークインタフェース150は、ネットワーク400、401を介した通信を行うために使用される。ネットワークインタフェース150は、例えば、ネットワークインタフェースカード(NIC)を含んでもよい。
 メモリ151は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ151は、プロセッサ152から離れて配置されたストレージを含んでもよい。この場合、プロセッサ152は、図示されていない入出力インタフェースを介してメモリ151にアクセスしてもよい。
 メモリ151は、例えば、プロセッサ152により実行される、1以上の命令を含むソフトウェア(コンピュータプログラム)などを格納するために使用される。
 このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 プロセッサ152は、例えば、マイクロプロセッサ、MPU(Micro Processor Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ152は、複数のプロセッサを含んでもよい。プロセッサ152は、メモリ151からコンピュータプログラムを読み出して実行することで、クラスタ制御部111、業務サービス制御部112、サーバ監視部113、内部監視部114、スクリプト実行部115、及びサーバ通信部116の処理を行う。また、スクリプト記憶部117は、例えばメモリ151により実現される。
 なお、現用系業務サーバ200及び待機系業務サーバ300も、図3に示した構成と同様のハードウェア構成となっている。このため、現用系業務サーバ200のプロセッサは、メモリからコンピュータプログラムを読み出して実行することで、業務サービス提供部201及びスクリプト実行部202の処理を行う。また、スクリプト記憶部203は、例えば現用系業務サーバ200のメモリにより実現される。同様に、待機系業務サーバ300のプロセッサは、メモリからコンピュータプログラムを読み出して実行することで、業務サービス提供部301及びスクリプト実行部302の処理を行う。また、スクリプト記憶部303は、例えば待機系業務サーバ300のメモリにより実現される。
 以下、図4から図8フローチャートを参照しつつ、HAクラスタシステム10の各構成要素の動作について説明する。
 図4は、HAクラスタシステム10におけるクラスタの構築処理の動作の流れを示すフローチャートである。この構築処理により、各サーバに、スクリプトが配置される。以下、図4を参照しつつ動作の流れについて説明する。
 ステップ100(S100)において、運用管理者は、運用管理サーバ100のGUI(Graphical User Interface)を介して、クラスタ構築に必要とされる監視に関する設定情報などを入力する。具体的には、運用管理者は、監視対象(サーバ名、業務サービス、ディスク、プロセッサなど)、監視設定(インタバール、タイムアウト、リトライ回数など)、障害発生時の対処(プロセス再起動、フェールオーバー、サーバ再起動など)などを、指定する。
 次に、ステップ101(S101)において、クラスタ制御部111は、GUIからの入力を受け付けると、入力内容に従った設定ファイルの作成をスクリプト実行部115に要求する。そして、ステップ102(S102)において、スクリプト実行部115は、設定ファイル生成用の所定のスクリプトを実行することにより、入力内容を基づく設定ファイルを作成し、スクリプト記憶部117に格納する。
 次に、ステップ103(S103)において、クラスタ制御部111は、スクリプト実行部115に、設定ファイルに従った処理を実行するためのスクリプトの生成を要求する。そして、スクリプト実行部115は、スクリプト生成用の所定のスクリプトを実行する。これにより、ステップ104(S104)において、スクリプト実行部115は、スクリプト記憶部117から設定ファイルを取得し、ステップ105(S105)において、設定ファイルに従った処理を実行可能なスクリプトを生成する。スクリプト実行部115は、生成したスクリプトをスクリプト記憶部117に記憶する。
 次に、ステップ106(S106)において、クラスタ制御部111は、ステップ105で生成された管理対象サーバ向けのスクリプトの転送をスクリプト実行部115に要求する。スクリプト実行部115は、転送用の所定のスクリプトを実行することにより、以下のようにスクリプトを管理対象サーバ(現用系業務サーバ200及び待機系業務サーバ300)に転送する。
 スクリプト実行部115は、ステップ107(S107)において、スクリプト記憶部117から管理対象サーバ向けのスクリプトを取得し、ステップ108(S108)において、所定の秘密鍵を使ってスクリプトを暗号化する。そして、スクリプト実行部115は、ステップ109(S109)において、暗号化したスクリプトを管理対象サーバに転送する。
 現用系業務サーバ200は、受信したスクリプトをスクリプト記憶部203に記憶し、待機系業務サーバ300は、受信したスクリプトをスクリプト記憶部303に記憶する。したがって、本実施の形態では、管理対象サーバにおけるスクリプトの実行のたびに、スクリプトの転送を行う必要がなく、スクリプトの実行までに要する時間を抑制することができる。また、管理対象サーバでは暗号化されたスクリプトが記憶されるため、セキュリティを担保できる。
 このように、クラスタ制御部111及びスクリプト実行部115は、図1の送信処理部2に対応している。すなわち、クラスタ制御部111及びスクリプト実行部115は、管理対象サーバの動作(管理対象サーバの状態)を監視するための監視スクリプトを、管理対象サーバに送信する処理を行う。また、クラスタ制御部111及びスクリプト実行部115は、フェールオーバーについての管理対象サーバの動作(例えば、業務サービス提供部201、301の起動、停止など)を制御するための制御スクリプトを、管理対象サーバに送信する処理を行う。
 なお、クラスタの設定を変更する場合、クラスタ制御部111は、変更内容を基づいて設定ファイルを更新するようスクリプト実行部115に要求する。これに対し、スクリプト実行部115は、上記と同様の処理を行い、再度、暗号化されたスクリプトを管理対象サーバに転送する。
 図5は、HAクラスタシステム10におけるクラスタの起動の動作の流れを示すフローチャートである。以下、図5を参照しつつ動作の流れについて説明する。
 ステップ200(S200)において、内部監視部114は、クラスタ制御部111の動作状態の監視を開始する。すなわち、内部監視部114は、クラスタ制御部111のプロセスの死活監視を開始する。
 次に、ステップ201(S201)において、クラスタ制御部111は、業務サービス制御部112を起動する。すなわち、クラスタ制御部111は、業務サービス制御部112のプロセスを開始させる。
 業務サービス制御部112が起動すると、ステップ202(S202)において、内部監視部114は、業務サービス制御部112の動作状態の監視を開始する。すなわち、内部監視部114は、業務サービス制御部112のプロセスの死活監視を開始する。
 次に、ステップ203(S203)において、クラスタ制御部111は、業務サービス制御部112に対し、現用系業務サーバ200における業務サービス提供部201の起動を要求する。
 ステップ204(S204)において、業務サービス制御部112は、スクリプト実行部115に対し、現用系業務サーバ200における業務サービス提供部201の起動を要求する。
 ステップ205(S205)において、スクリプト実行部115は、業務サービス提供部201の起動を現用系業務サーバ200に要求するスクリプトを実行することにより、現用系業務サーバ200にこれを要求する。
 ステップ206(S206)において、運用管理サーバ100から要求を受けた現用系業務サーバ200のスクリプト実行部202は、業務サービス提供部201の起動用のスクリプトをスクリプト記憶部203から取得する。なお、業務サービス提供部201の起動用のスクリプトは、図4に示した処理により予めスクリプト記憶部203に記憶されている。
 ステップ207(S207)において、現用系業務サーバ200のスクリプト実行部202は、取得したスクリプトを実行することにより、業務サービス提供部201を起動する。これにより、現用系業務サーバ200からクライアント装置(ユーザ)へのネットワーク400を介した業務サービスの提供が開始される(ステップ208(S208))。
 業務サービス提供部201の起動を要求した運用管理サーバ100のクラスタ制御部111は、ステップ209(S209)において、サーバ監視部113を起動する。すなわち、クラスタ制御部111は、サーバ監視部113のプロセスを開始させる。
 サーバ監視部113が起動すると、ステップ210(S210)において、内部監視部114は、サーバ監視部113の動作状態の監視を開始する。すなわち、内部監視部114は、サーバ監視部113のプロセスの死活監視を開始する。
 図6は、HAクラスタシステム10における監視動作の流れを示すフローチャートである。以下、図6を参照しつつ動作の流れについて説明する。なお、継続的に監視を行うため、図6に示される動作は繰り返し実行される。
 ステップ300(S300)において、サーバ監視部113は、現用系業務サーバ200による業務サービスの提供状態を確認するための処理をスクリプト実行部115に要求する。具体的には、現用系業務サーバ200の業務サービス提供部201によって提供される業務サービスにネットワーク400を介して運用管理サーバ100からアクセスできるか否かを確認する処理をスクリプト実行部115に要求する。
 ステップ301(S301)において、スクリプト実行部115は、業務サービスの提供状態の確認用の所定のスクリプトを実行することにより、業務サービスへのアクセスパスを確認する。これにより、ネットワーク400経由で正常に現用系業務サーバ200の業務サービスにアクセスできるか否かが確認される。
 また、HAクラスタシステム10においては、運用管理サーバ100からのネットワーク401経由の要求に応じて、現用系業務サーバ200及び待機系業務サーバ300における監視用のスクリプトの実行が行われる。
 具体的には、まず、ステップ302(S302)において、サーバ監視部113は、管理対象サーバ(現用系業務サーバ200及び待機系業務サーバ300)の動作状態の確認をスクリプト実行部115に要求する。
 ステップ303(S303)において、スクリプト実行部115は、動作確認を要求するための所定のスクリプトを実行することにより、管理対象サーバ(現用系業務サーバ200及び待機系業務サーバ300)に対し、動作状態の確認を要求する。すなわち、スクリプト実行部115は、現用系業務サーバ200に対し、現用系業務サーバ200の監視用のスクリプトの実行を要求し、待機系業務サーバ300に対し、待機系業務サーバ300の監視用のスクリプトの実行を要求する。
 ステップ304(S304)において、管理対象サーバ(現用系業務サーバ200及び待機系業務サーバ300)は、監視用のスクリプトを実行することにより、自装置の状態を確認する。すなわち、運用管理サーバ100から要求を受けた現用系業務サーバ200のスクリプト実行部202は、監視用のスクリプトをスクリプト記憶部203から取得する。そして、現用系業務サーバ200のスクリプト実行部202は、取得したスクリプトを実行することにより、現用系業務サーバ200の動作状態を確認する。同様に、運用管理サーバ100から要求を受けた待機系業務サーバ300のスクリプト実行部302は、監視用のスクリプトをスクリプト記憶部303から取得する。そして、待機系業務サーバ300のスクリプト実行部302は、取得したスクリプトを実行することにより、待機系業務サーバ300の動作状態を確認する。なお、監視用のスクリプトは、図4に示した処理により予めスクリプト記憶部203、303に記憶されている。
 監視用のスクリプトの実行により、管理対象サーバのハードウェア及びソフトウェアなどの状態情報が取得される。具体的には、例えば、アプリケーションのプロセスの死活状態、ディスクへのアクセスパスの動作状態、LANケーブルのリンク状態、NICの状態などの状態情報が取得される。スクリプト実行部202、302は、監視用のスクリプトの実行結果、すなわち管理対象サーバの状態情報を運用管理サーバ100に送信し、運用管理サーバ100のスクリプト実行部115によってこれが取得される(ステップ305(S305))。
 ステップ306(S306)において、スクリプト実行部115は、ステップ301において得られた結果及びステップ305において得られた結果を、監視情報として、サーバ監視部113に出力する。
 次に、ステップ307(S307)においては、サーバ監視部113は、ステップ306で取得した監視情報に基づいて、管理対象サーバが正常であるか否か、すなわち障害が発生していないか否かを判定する。なお、ステップ307における判定は、監視情報の分析(例えば、管理対象サーバが正常である場合に期待される監視結果と、実際の監視結果との比較)によって行われてもよい。
 このように、サーバ監視部113及びスクリプト実行部115は、図1のサーバ監視処理部3に相当する。すなわち、サーバ監視部113及びスクリプト実行部115は、管理対象サーバに対し、監視用のスクリプトの実行及び実行結果の返信を要求し、この実行結果に基づいて管理対象サーバの動作状態を監視する。
 図7は、HAクラスタシステム10におけるフェールオーバー動作を示すフローチャートである。HAクラスタシステム10は、現用系業務サーバ200に障害が発生した場合、以下のような処理を行う。すなわち、図6のステップ307において、現用系業務サーバ200の障害が検出された場合、HAクラスタシステム10は以下のような処理を行う。以下、図7を参照しつつ動作の流れについて説明する。
 ステップ400(S400)において、現用系業務サーバ200に障害が発生したことを検知したサーバ監視部113は、クラスタ制御部111に異常の発生を通知する。
 次にステップ401(S401)において、異常の発生の通知を受けたクラスタ制御部111は、待機系業務サーバ300が正常に業務サービスを引き継げるかどうかの確認をサーバ監視部113に要求する。サーバ監視部113は、図6のステップ307で得られた待機系業務サーバ300の状態に基づいて、待機系業務サーバ300が正常に業務サービスを引き継げるかどうかを判定する。サーバ監視部113は、待機系業務サーバ300が正常である場合、待機系業務サーバ300が正常に業務サービスを引き継げると判定する。
 待機系業務サーバ300が正常に業務サービスを引き継げる場合、クラスタ制御部111は、業務サービス制御部112にフェールオーバーを要求する。具体的には、以下のような処理が行われ、現用系業務サーバ200による業務サービスの提供から、待機系業務サーバ300による業務サービスの提供へとシステムの状態が切替えられる。
 ステップ402(S402)において、クラスタ制御部111は、業務サービス制御部112に、現用系業務サーバ200による業務サービスの提供を停止する制御を要求する。これに対し、業務サービス制御部112は、ステップ403(S403)において、スクリプト実行部115に対し、現用系業務サーバ200における業務サービス提供部201の停止を要求する。
 ステップ404(S404)において、スクリプト実行部115は、業務サービス提供部201の停止を現用系業務サーバ200に要求するスクリプトを実行することにより、現用系業務サーバ200にこれを要求する。すなわち、スクリプト実行部115は、現用系業務サーバ200に対し、業務サービス提供部201の停止のためのスクリプトの実行を要求する。
 そして、ステップ405(S405)において、要求を受けた現用系業務サーバ200のスクリプト実行部202は、業務サービス提供部201を停止するためのスクリプトを実行する。すなわち、運用管理サーバ100から要求を受けた現用系業務サーバ200のスクリプト実行部202は、業務サービス提供部201の停止用のスクリプトをスクリプト記憶部203から取得する。そして、現用系業務サーバ200のスクリプト実行部202は、取得したスクリプトを実行することにより、現用系業務サーバ200による業務サービスの提供を停止する。なお、停止用のスクリプトは、図4に示した処理により予めスクリプト記憶部203に記憶されている。
 また、ステップ406(S406)において、クラスタ制御部111は、業務サービス制御部112に、待機系業務サーバ300による業務サービスの提供を開始する制御を要求する。これに対し、業務サービス制御部112は、ステップ407(S407)において、スクリプト実行部115に対し、待機系業務サーバ300における業務サービス提供部301の起動を要求する。
 ステップ408(S408)において、スクリプト実行部115は、業務サービス提供部301の起動を待機系業務サーバ300に要求するスクリプトを実行することにより、待機系業務サーバ300にこれを要求する。すなわち、スクリプト実行部115は、待機系業務サーバ300に対し、業務サービス提供部301の起動のためのスクリプトの実行を要求する。
 そして、ステップ409(S409)において、要求を受けた待機系業務サーバ300のスクリプト実行部302は、業務サービス提供部301を起動するためのスクリプトを実行する。すなわち、運用管理サーバ100から要求を受けた待機系業務サーバ300のスクリプト実行部302は、業務サービス提供部301の起動用のスクリプトをスクリプト記憶部303から取得する。そして、待機系業務サーバ300のスクリプト実行部302は、取得したスクリプトを実行することにより、待機系業務サーバ300による業務サービスの提供を開始する。なお、起動用のスクリプトは、図4に示した処理により予めスクリプト記憶部303に記憶されている。
 このようにして、待機系業務サーバ300からの業務サービスの提供を可能とし、フェールオーバーを完了する。
 このように、クラスタ制御部111、業務サービス制御部112、及びスクリプト実行部115は、図1のクラスタ制御処理部4に相当する。すなわち、クラスタ制御部111、業務サービス制御部112、及びスクリプト実行部115は、現用系業務サーバ200が異常である場合、フェールオーバーを行うためのスクリプトの実行を管理対象サーバに要求する。
 図8は、HAクラスタシステム10におけるスクリプトの実行に関する動作を示すフローチャートである。なお、図8において、上段は、運用管理サーバ100が管理対象サーバにスクリプトを実行させる際の動作の流れを示し、下段は、運用管理サーバ100においてスクリプトを実行する際の動作の流れを示す。以下、図8を参照しつつ動作の流れについて説明する。
 まず、運用管理サーバ100が管理対象サーバ(現用系業務サーバ200及び待機系業務サーバ300)にスクリプトを実行させる際の動作(リモート実行の動作)の流れを説明する。
 ステップ500(S500)において、運用管理サーバ100のスクリプト実行部115は、サーバ通信部116に、管理対象サーバへの通信セッションの確立を要求する。これに対し、ステップ501(S501)において、サーバ監視部113は、管理対象サーバ、すなわち、現用系業務サーバ200又は待機系業務サーバ300への通信セッションを確立する。なお、図6のステップ301による処理が行われる場合、サーバ通信部116は、ネットワーク400(パブリックLAN)での通信セッションを確立する。それ以外の場合は、サーバ通信部116は、ネットワーク401(インタコネクトLAN)での通信セッションを確立する。
 次に、ステップ502(S502)において、業務サービス制御部112又はサーバ監視部113からの要求に従い、スクリプト実行部115は、管理対象サーバのスクリプト実行部202又は302に対し、スクリプトの実行を要求する。このとき、スクリプト実行部115は、暗号化されてスクリプト記憶部203、303に記憶されているスクリプトの復号に必要な鍵を送信する。
 ステップ503(S503)において、スクリプト実行部202、302は、スクリプト記憶部203、303からスクリプトを取得する。そして、ステップ504(S504)において、受信した鍵を用いて、スクリプトを復号し、ステップ505(S505)において、復号したスクリプトを実行する。その後、ステップ506(S506)において、スクリプト実行部202、302は、スクリプトの実行結果を運用管理サーバ100のスクリプト実行部115に送信する。
 次に、ステップ507(S507)において、実行結果を管理対象サーバから取得したスクリプト実行部115は、サーバ通信部116に、管理対象サーバへの通信セッションの切断を要求する。これに対し、ステップ508(S508)において、サーバ監視部113は、管理対象サーバへの通信セッションを切断する。なお、実行結果を取得したスクリプト実行部115は、要求元である業務サービス制御部112又はサーバ監視部113に実行結果を出力する。
 このように、本実施の形態では、運用管理サーバ100から管理対象サーバへのリモートログインによるスクリプトの実行が行われる。なお、リモートログインでは、SSH(Secure Shell)が用いられてもよい。
 次に、運用管理サーバ100においてスクリプトを実行する際の動作(ローカル実行の動作)の流れを説明する。この場合、図8の下段に示されるように、通信セッション確立、切断、スクリプトの復号などの処理は行われず、スクリプト記憶部117にあるスクリプトが実行される。すなわち、ステップ550(S550)において、スクリプト実行部115は、スクリプト記憶部117から実行対象のスクリプトを取得する。そして、ステップ551(S551)において、スクリプト実行部115は、取得したスクリプトを実行する。このような処理により、運用管理サーバ100におけるクラスタウェア110のプロセス監視(内部監視部114による監視)などが実行される。この場合、スクリプト実行部115の実行結果は、要求元の内部監視部114に出力される。
 以上、実施の形態1について説明した。実施の形態1にかかるHAクラスタシステム10では、運用管理サーバ100に、上述したクラスタウェア110が設けられており、管理対象サーバは、クラスタウェア110からの要求によりスクリプトの実行及び実行結果の返信を行う。このため、管理対象サーバがクラスタウェアを有することに起因した問題(例えば、既存環境を有効活用できない、クラスタウェアの処理負荷がかかるなどの問題)の発生を回避することができる。
 また、HAクラスタシステム10では、図6を用いて説明したように、運用管理サーバ100は、クライアント装置に対して業務サービスを提供するために利用されるネットワーク400を介して、管理対象サーバによる業務サービスの提供状態を監視する。そして、運用管理サーバ100は、そのような監視により、管理対象サーバにより業務サービスが正常に提供されていないことを検出した場合、フェールオーバーについての管理対象サーバの動作を制御するためのスクリプトの実行を管理対象サーバに要求する。
 ところで、業務サービスを提供できているかを判断するのが提供元のサーバである場合、実際に外部のクライアント装置に対し、ネットワーク400経由で正常に業務サービスを提供できているかを確実に判定できない。
 これに対し、HAクラスタシステム10は、実際の外部のクライアント装置と同等のアクセスが行われるため、業務サービスが正常に提供できているか否かをより正確に判定することができる。
<実施の形態2>
 次に、実施の形態2について説明する。なお、以下の説明では、実施の形態1と重複する構成、動作については説明を割愛する。本実施の形態では、管理対象サーバが備えるBMC(Baseboard Management Controller)に対する処理を運用管理サーバが行う点で、上述の実施の形態と異なっている。
 図9は、実施の形態2にかかるHAクラスタシステム20の一例を示すブロック図である。図9に示すように、現用系業務サーバ200はBMC204を備え、同様に、待機系業務サーバ300は、BMC304を備えている。BMC204、304は、OSとは独立に動作して、プロセッサ、メモリなどといったサーバを構成するハードウェアの監視機能と、サーバの起動及び停止の制御などを行う。BMC204、304は、例えばIPMI(Intelligent Platform Management Interface)規格に準拠しており、BMCとの通信用のLAN(BMC LAN)であるネットワーク402に接続されている。BMC204、304は、ハードウェア障害等のために管理対象サーバのOSがダウンしている際においても、障害通報機能およびリモートコントロール機能を運用管理サーバ100に提供する。
 管理対象サーバのOSがダウンした場合、運用管理サーバ100からネットワーク401経由で管理対象サーバにスクリプトを実行させることにより管理対象サーバを監視及び制御することが不可能になる。そのような場合であっても、管理対象サーバにBMCが搭載されている本実施の形態においては、図10に示すように、運用管理サーバ100からネットワーク402経由で管理対象サーバを監視・制御(死活監視、強制停止など)することができる。
 図10は、HAクラスタシステム20におけるBMCを用いたサーバ監視及びサーバ制御の動作を示すフローチャートである。以下、図10を参照しつつ動作の流れについて説明する。
 ステップ600(S600)において、サーバ監視部113は、管理対象サーバ(現用系業務サーバ200及び待機系業務サーバ300)の動作状態の確認をスクリプト実行部115に要求する。
 ステップ601(S601)において、スクリプト実行部115は、管理対象サーバの状態情報を要求するための所定のスクリプトを実行する。すなわち、スクリプト実行部115は、BMC204、304から管理対象サーバの動作状態を取得するためのコマンド(監視用のIPMIコマンド)をネットワーク402経由で送信する。
 ステップ602(S602)において、コマンドを受信したBMC204、304は、ハードウェアの各種情報(CPU情報、メモリ情報、OS状態等)である監視情報(状態情報とも称す)を取得する。
 そして、ステップ603(S603)において、BMC204、304は、運用管理サーバ100に監視情報を送信する。
 ステップ604(S604)において、BMC204、304から監視情報を取得した運用管理サーバ100のスクリプト実行部115は、監視情報をサーバ監視部113に出力する。
 ステップ605(S605)において、サーバ監視部113は、ステップ604で取得した監視情報を分析し、管理対象サーバの状態を確認する。すなわち、サーバ監視部113は、管理対象サーバが正常であるか否か、すなわち障害が発生していないか否かを判定する。
 ステップ605においてサーバ監視部113が管理対象サーバの異常を検出した場合、ステップ606(S606)において、サーバ監視部113は、クラスタ制御部111に管理対象サーバにおける異常の発生を通知する。
 ステップ607(S607)において、通知を受けたクラスタ制御部111は、スクリプト実行部115に、障害発生時の処理(管理対象サーバの再起動等)を要求する。
 ステップ608(S608)において、スクリプト実行部115は、障害発生時の処理をBMC204、304に要求するための所定のスクリプトを実行する。すなわち、スクリプト実行部115は、例えば、BMC204、304に管理対象サーバの電源オフコマンド又は電源オンコマンド(電源制御用のIPMIコマンド)をネットワーク402経由で送信する。
 ステップ609(S609)において、コマンドを受信したBMC204、304は、管理対象サーバの電源制御を行う。これにより、例えば、障害発生時の処理として、障害が発生した管理対象サーバの再起動が行われる。または、例えば、障害発生時の処理として、障害が発生した現用系業務サーバ200の停止及び待機系業務サーバ300の起動が行われる。なお、待機系業務サーバ300が停止している状態において現用系業務サーバ200の障害を検出した場合、現用系業務サーバ200を電源オフにし、待機系業務サーバ300を電源オンにすれば、IP(Internet Protocol)アドレス等の衝突が発生しない。すなわち、クライアント装置からの接続の切り替えが不要になる。
 ステップ609におけるBMC204、304による処理が行われると、ステップ610(S610)において、処理の実行結果が運用管理サーバ100のスクリプト実行部115に返信される。また、ステップ611(S611)において、クラスタ制御部111は、この実行結果をスクリプト実行部115から取得する。
 このように、本実施の形態では、運用管理サーバ100は、管理対象サーバのBMCに対し、管理対象サーバの状態情報の返信を要求し、この状態情報に基づいて管理対象サーバの状態を監視する。そして、運用管理サーバ100は、管理対象サーバの異常を示す状態情報がBMCから得られた場合、BMCに対し管理対象サーバの電源制御を要求する。このような構成によれば、管理対象サーバにおいて監視用又は制御用のスクリプトが実行できないような状況において、適切に対応することができる。
<実施の形態3>
 次に、実施の形態3について説明する。本実施の形態は、業務サービスを提供するサーバのいずれかが運用管理サーバとしても用いられる点で、実施の形態1と異なっている。以下、実施の形態1と異なる点について説明し、実施の形態1と同様の構成及び動作に関しては説明を割愛する。
 図11は、実施の形態3にかかるHAクラスタシステム30の一例を示すブロック図である。図11に示すように、HAクラスタシステム30は、運用管理・待機系業務サーバ500と、現用系業務サーバ200とを有している。図11に示すように、運用管理・待機系業務サーバ500は、クラスタウェア110の他に業務サービス提供部120を有する点で、実施の形態1にかかる運用管理サーバ100と異なる。すなわち、運用管理・待機系業務サーバ500は、実施の形態1にかかる運用管理サーバ100において、業務サービス提供部120が追加されたサーバともいえる。業務サービス提供部120は、上述した業務サービス提供部201、301と同様の動作を行う。
 なお、本実施の形態において、運用管理・待機系業務サーバ500が自サーバを監視する際、サーバ監視部113は、図8の下段に示した動作と同様に、スクリプト実行部115に対し、スクリプト記憶部117のスクリプトをローカルで実行するよう要求する。また、業務サービス提供部120を起動又は停止する際も、図8の下段に示した動作と同様に、スクリプト実行部115に対し、スクリプト記憶部117のスクリプトをローカルで実行するよう要求する。
 このように、運用管理を行うサーバが業務サービス提供部120を有することにより、当該サーバを運用管理だけでなく、待機系のサーバとしても利用することができる。また、このような構成によれば、待機系のサーバとして用意するサーバの台数を削減することもできるため、システムの導入コストを抑制することができる。
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態3において、実施の形態2で説明したBMCを用いた制御が行われてもよい。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2018年3月6日に出願された日本出願特願2018-39390を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1  管理サーバ
2  送信処理部
3  サーバ監視処理部
4  クラスタ制御処理部
10、20、30  HAクラスタシステム
100  運用管理サーバ
110  クラスタウェア
111  クラスタ制御部
112  業務サービス制御部
113  サーバ監視部
114  内部監視部
115、202、302  スクリプト実行部
116  サーバ通信部
117、203、303  スクリプト記憶部
120、201、301  業務サービス提供部
150  ネットワークインタフェース
151  メモリ
152  プロセッサ
200  現用系業務サーバ
300  待機系業務サーバ
400、401、402  ネットワーク
500  運用管理・待機系業務サーバ

Claims (9)

  1.  所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理手段と、
     前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理手段と、
     前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理手段と
     を有する管理サーバ。
  2.  前記サーバ監視処理手段は、さらに、前記サービス提供サーバがクライアント装置に対して前記所定のサービスを提供するために利用されるネットワークを介して、前記サービス提供サーバによる前記所定のサービスの提供状態を監視し、
     前記クラスタ制御処理手段は、さらに、前記サービス提供サーバにより前記所定のサービスが正常に提供されていない場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する
     請求項1に記載の管理サーバ。
  3.  前記サービス提供サーバは、BMC(Baseboard Management Controller)を備えたサーバであり、
     前記サーバ監視処理手段は、さらに、前記サービス提供サーバの前記BMCに対し、前記サービス提供サーバの状態情報の返信を要求し、該状態情報に基づいて前記サービス提供サーバの状態を監視し、
     前記クラスタ制御処理手段は、前記サービス提供サーバの異常を示す状態情報が前記BMCから得られた場合、前記BMCに対し前記サービス提供サーバの電源制御を要求する
     請求項1又は2に記載の管理サーバ。
  4.  前記サーバ監視処理手段又は前記クラスタ制御処理手段の少なくともいずれか一つの動作状態を監視する内部監視処理手段をさらに有する
     請求項1乃至3のいずれか1項に記載の管理サーバ。
  5.  前記所定のサービスを提供するサービス提供手段をさらに有する
     請求項1乃至4のいずれか1項に記載の管理サーバ。
  6.  所定のサービスを提供するための現用系サーバと、
     前記所定のサービスを提供するための待機系サーバと、
     前記現用系サーバ及び前記待機系サーバにおけるフェールオーバーを制御する管理サーバと、
     を備え、
     前記管理サーバは、
     前記現用系サーバの動作を監視するための第1の監視スクリプトと、フェールオーバーについての前記現用系サーバの動作を制御するための第1の制御スクリプトとを前記現用系サーバに送信する処理と、前記待機系サーバの動作を監視するための第2の監視スクリプトと、フェールオーバーについての前記待機系サーバの動作を制御するための第2の制御スクリプトとを前記待機系サーバに送信する処理とを行う送信処理手段と、
     前記現用系サーバ及び前記待機系サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記現用系サーバ及び前記待機系サーバの動作状態を監視するサーバ監視処理手段と、
     前記現用系サーバの前記監視スクリプトの前記実行結果が前記現用系サーバの異常を示す場合、前記第1の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第2の制御スクリプトの実行を前記待機系サーバに要求するクラスタ制御処理手段と
     を有する
     クラスタシステム。
  7.  前記サーバ監視処理手段は、さらに、前記現用系サーバがクライアント装置に対して前記所定のサービスを提供するために利用されるネットワークを介して、前記現用系サーバによる前記所定のサービスの提供状態を監視し、
     前記クラスタ制御処理手段は、さらに、前記現用系サーバにより前記所定のサービスが正常に提供されていない場合、前記第1の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第2の制御スクリプトの実行を前記待機系サーバに要求する
     請求項6に記載のクラスタシステム。
  8.  所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信し、
     前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視し、
     前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する
     クラスタシステムの制御方法。
  9.  所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理ステップと、
     前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理ステップと、
     前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理ステップと
     をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2018/046574 2018-03-06 2018-12-18 管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 Ceased WO2019171704A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020504799A JPWO2019171704A1 (ja) 2018-03-06 2018-12-18 管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-039390 2018-03-06
JP2018039390 2018-03-06

Publications (1)

Publication Number Publication Date
WO2019171704A1 true WO2019171704A1 (ja) 2019-09-12

Family

ID=67846939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/046574 Ceased WO2019171704A1 (ja) 2018-03-06 2018-12-18 管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体

Country Status (2)

Country Link
JP (1) JPWO2019171704A1 (ja)
WO (1) WO2019171704A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333244A (zh) * 2020-10-16 2021-02-05 济南浪潮数据技术有限公司 一种集群互信方法、系统、设备及计算机可读存储介质
WO2025099835A1 (ja) * 2023-11-07 2025-05-15 日本電信電話株式会社 サーバ切替装置、サーバ切替システム、サーバ切替方法およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253956A (ja) * 1994-03-15 1995-10-03 Fujitsu Ltd 計算機監視方式
JP2008293245A (ja) * 2007-05-24 2008-12-04 Hitachi Ltd フェイルオーバ方法、計算機システム、管理サーバ及び予備サーバの設定方法
JP2011191854A (ja) * 2010-03-12 2011-09-29 Hitachi Ltd 計算機システム、計算機システムの制御方法及びプログラム
JP2017129935A (ja) * 2016-01-18 2017-07-27 キヤノン株式会社 サーバシステム、サーバシステムを制御する方法およびプログラム。

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996502B2 (en) * 2004-01-20 2006-02-07 International Business Machines Corporation Remote enterprise management of high availability systems
JP2017033486A (ja) * 2015-08-06 2017-02-09 日本電気株式会社 情報処理装置、管理端末、情報管理システム、情報管理方法、およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253956A (ja) * 1994-03-15 1995-10-03 Fujitsu Ltd 計算機監視方式
JP2008293245A (ja) * 2007-05-24 2008-12-04 Hitachi Ltd フェイルオーバ方法、計算機システム、管理サーバ及び予備サーバの設定方法
JP2011191854A (ja) * 2010-03-12 2011-09-29 Hitachi Ltd 計算機システム、計算機システムの制御方法及びプログラム
JP2017129935A (ja) * 2016-01-18 2017-07-27 キヤノン株式会社 サーバシステム、サーバシステムを制御する方法およびプログラム。

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KOH SANGHO ET AL.: "The proposal of controller redundancy method adaptive traffic in openflow network", IEEC WORKING GROUP MATERIALS, 16 March 2015 (2015-03-16), pages 69 - 74 *
KUNSUNOKI MASANORI: "Networks : Out with the old, in with the New- A general inspection. Capter 1 : Preventive Measures- Providing is preventing for network problems", SOFTWARE DESIGN, no. 135, 18 January 2002 (2002-01-18), pages 18 - 27 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333244A (zh) * 2020-10-16 2021-02-05 济南浪潮数据技术有限公司 一种集群互信方法、系统、设备及计算机可读存储介质
WO2025099835A1 (ja) * 2023-11-07 2025-05-15 日本電信電話株式会社 サーバ切替装置、サーバ切替システム、サーバ切替方法およびプログラム

Also Published As

Publication number Publication date
JPWO2019171704A1 (ja) 2021-02-04

Similar Documents

Publication Publication Date Title
CN103858106B (zh) 远程电缆接入点复位
JP6866927B2 (ja) クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラム
US12021711B2 (en) Network function virtualization compute element image upgrade
EP2637102B1 (en) Cluster system with network node failover
US20090164565A1 (en) Redundant systems management frameworks for network environments
WO2019171704A1 (ja) 管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体
CN101040264B (zh) 用于电设备的冗余控制的方法和装置
JP6951014B2 (ja) 通信制御装置、通信システム、通信制御方法、及びプログラム
JP6838334B2 (ja) クラスタシステム、サーバ、サーバの動作方法、及びプログラム
WO2019216210A1 (ja) サービス継続システムおよびサービス継続方法
JP6452905B1 (ja) エレベーター遠隔監視システム
JP2007233586A (ja) 二重化制御装置及び二重化制御方法
WO2015001798A1 (ja) 情報処理サーバ、情報処理システム、情報処理方法及びプログラム記録媒体
WO2017163665A1 (ja) 通信処理システム、通信処理方法、通信処理装置、通信管理装置およびそれらの制御方法と制御プログラム
US11556324B2 (en) Management apparatus and management method
JP7553119B2 (ja) 監視対象装置、及び監視対象装置における処理方法
JP2013156963A (ja) 制御プログラム、制御方法、情報処理装置、制御システム
JP6580913B2 (ja) 電子装置、管理装置、情報処理装置、制御システムおよび電源制御方法、並びにコンピュータ・プログラム
JP6801919B2 (ja) 販売管理システム、送信方法、及びプログラム
JP7225322B2 (ja) 端末装置、データ転送システム、データ転送方法、およびプログラム
JP7111125B2 (ja) 通信処理システム、通信処理装置およびその制御方法と制御プログラム
JP2012185766A (ja) コンピュータ装置死活監視システムおよび方法
JP2020030503A (ja) フォールトトレラント制御装置、フォールトトレラントシステム、フォールトトレラント制御方法、及び、フォールトトレラント制御プログラム
JP2020155981A (ja) 通信接続設定装置、通信接続設定システム、通信接続設定方法、及び、通信接続設定プログラム
JP2007122573A (ja) 仮想サーバシステム、分散制御方法およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020504799

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

Country of ref document: EP

Kind code of ref document: A1