PRIMECLUSTER Installation and Administration Guide 4.2 (Linux for Itanium) |
Contents
Index
![]() ![]() |
Part 2 Installation | > Chapter 6 Building Cluster Applications |
Create Online and Offline scripts to start and stop ISV applications and user applications in line with the userApplication state transition.
Set the created scripts as Cmdline resources and set those resources in userApplication. For details, see "Setting Up Cmdline Resources."
An Online script is started when userApplication is switched to Online.
An Offline script is started when userApplication is switched to Offline.
A Check script is used to monitor the state of the resource that is started or stopped with an Online or Offline script.
This section presents script examples and describes notes on script creation.
This section shows samples of the Online and Offline scripts, which are set as Cmdline resources.
The above script sample covers both the Start script and the Stop script.
An example of Check script is shown below:
Set up the above scripts in the Cmdline resource as shown below:
Start script $FULL_PATH/Script.sample -c
Stop script $FULL_PATH/Script.sample -u
Check script $FULL_PATH/Script.sample.check
For information on how to set up these scripts, see "Setting Up Cmdline Resources."
To enable hot-standby operation of the Cmdline resources, the following must be prepared:
Online/Offline/Check scripts that support hot-standby operation.
The setting of attributes for the Cmdline resources
Create the Online, Offline, and Check scripts to support hot-standby operation. The sample scripts are shown below.
The following example shows Check script that supports hot-standby operation.
Setting attributes for the Cmdline resources
Enable the STANDBYCAPABLE and the ALLEXITCODES attributes.
For details, see "Setting Up Cmdline Resources."
The state transition process of userApplication changes according to the exit code of the Online/Offline script:
0: Normal exit
The system assumes that the state transition of the Cmdline resource was processed normally, and state transition processing of the userApplication continues. If all the resources of the userApplication are processed normally, the state transition of the userApplication is also processed normally.
Other than 0: Abnormal exit
The system assumes that an error occurred during the state transition of the Cmdline resources and interrupts state transition processing of the userApplication.
The state of the Cmdline resource is determined by the exit code of Check script. The exit code and the Cmdline resource are associated each other as follows:
0: Indicates the Online state.
Other than 0: Indicates the Offline state.
When ALLEXITCODES variables of the Cmdline resources are enabled, Check script will provide more detailed state of the resource. The exit code and Cmdline resource are associated each other as follows:
0: Indicates the Online state.
1: Indicates the Offline state.
2: Indicates the Faulted state.
3: Indicates the Unknown state.
4: Indicates the Standby state.
For details, see "HELP."
If script processing is not completed within the specified time, a timeout occurs, script processing is interrupted by the SIGTERM signal, and state transition ends with an error.
Default: 300 seconds
The timeout value can be specified with the TIMEOUT flag value of the Cmdline resources.
When creating the Cmdline resource, you need to set up a timeout value in "Change the attribute" of "Setting Up Cmdline Resources." If a timeout occurs when a Cmdline resource is used, change the timeout value to an appropriate value according to the instructions in "Changing the Cluster Configuration."
When the script is executed, the environment variables shown in the table below are set.
Environment variable |
Outline |
---|---|
HV_APPLICATION |
This variable sets the userApplication name that the resource belongs to. Example) app1 |
HV_AUTORECOVER |
This variable sets the AUTORECOVER value. For details on AUTORECOVER, see "10 Appendix - Attributes" in "PRIMECLUSTER Reliant Monitor Service (RMS) with Wizard Tools Configuration and Administration Guide." |
HV_FORCED_REQUEST |
This variable sets a value that indicates whether or not forced failover was requested by operator intervention. 0: Forced failover was not requested. |
HV_NODENAME |
This variable contains the resource name. Example) Cmdline0 |
HV_OFFLINE_REASON |
This variable sets the trigger for bringing the resource Offline. SWITCH: The resource was set to Offline because of a userApplication switchover request (hvswitch). |
HV_SCRIPT_TYPE |
This variable sets the type of script that was executed. Online: Online script |
HV_LAST_DET_REPORT |
This variable sets the state of the current resources. Online: Online state |
HV_INTENDED_STATE |
This variable sets the resource state that is expected after state transition is completed. Online: Online state |
NODE_SCRIPTS_TIME_OUT |
This variable sets the timeout duration (seconds) of the script. Example) 300 |
RMS also has other environment variables. For information on the other environment variables, see the files below.
File Names |
Contents |
---|---|
hvenv |
Environment variable file to be defined in the entire cluster system |
hvenv.local |
Environment variable file to be defined only in that node |
For details on the RMS environment variable files (hvenv and hvenv.local), see "2.9 Environment variables" in "PRIMECLUSTER Reliant Monitor Service (RMS) with Wizard Tools Configuration and Administration Guide."
For details on the RMS environment variables, see "10 Appendix - Environment variables" in "PRIMECLUSTER Reliant Monitor Service (RMS) with Wizard Tools Configuration and Administration Guide."
The only environment variables that are set when a script (Online/Offline/Check script) is executed are those that are displayed by the "hvenv" command. The environment variables set to individual servers (systems) are not inherited. You must therefore define environment variables that are required for script execution in the script.
Contents
Index
![]() ![]() |