7. 强制停止资源的详细信息¶
本章说明强制停止资源的详细信息。
7.1. 何谓强制停止功能?¶
发现服务器宕机时,其他服务器(正常的服务器)强制停止宕机的服务器的功能。
强制停止宕机服务器的方法取决于配置集群的环境种类(物理机/虚拟机/Cloud)。使用强制停止功能时,请根据环境种类设置**强制停止资源**。
此外,也可以执行记述了停止宕机的服务器的处理的任意脚本。详情请参考"7.6. 理解使用任意脚本的强制停止"。
7.1.1. 强制停止的执行条件¶
以下情况不执行强制停止。
服务器宕机前失效切换组已经正常停止时
使用[clpdown]命令,Cluster WebUI关闭服务器,失效切换组已经正常停止时
使用[clpcl]命令,Cluster WebUI停止集群,失效切换组已经正常停止时
- 服务器宕机,但没有从宕机的服务器向其他服务器进行失效切换的失效切换组时。(包括宕机的服务器上没有启动失效切换组时。)
以下情况执行强制停止。
服务器宕机,且拥有从宕机的服务器向其他服务器进行失效切换的失效切换组时。
7.2. 理解物理环境下的强制停止¶
7.2.1. BMC 强制停止资源的设置¶
为了使用 BMC 强制停止资源,必须在每个集群服务器上安装 ipmitool。
在BMC强制停止资源中使用的命令
使用[ipmitool]命令强制停止物理设备,定期检查强制停止资源的状态,在执行强制停止后进行停止检查。
执行命令时请设置以下选项值。
[ipmitool]命令选项 |
BMC强制停止属性的
服务器列表的编辑[输入BMC]设置项
|
---|---|
-N ip_address |
IP地址 |
-U username |
用户名 |
-P password |
密码 |
BMC强制停止资源的强制停止时,执行以下命令。
强制停止动作 |
命令 |
---|---|
BMC Power Off |
ipmitool -H ip_address -U username -P password power off |
BMC Reset |
ipmitool -H ip_address -U username -P password power reset |
BMC Power Cycle |
ipmitool -H ip_address -U username -P password power cycle |
BMC NMI |
ipmitool -H ip_address -U username -P password power diag |
以上命令失败时,执行以下命令。
强制停止动作 |
命令 |
---|---|
BMC Power Off |
ipmitool -H ip_address -I lanplus -U username -P password power off |
BMC Reset |
ipmitool -H ip_address -I lanplus -U username -P password power reset |
BMC Power Cycle |
ipmitool -H ip_address -I lanplus -U username -P password power cycle |
BMC NMI |
ipmitool -H ip_address -I lanplus -U username -P password power diag |
BMC强制停止资源的定期检查以及执行强制停止后的停止检查时,执行以下命令。
定期检查命令
停止检查命令
|
---|
ipmitool -H ip_address -U username -P password power status |
以上命令失败时,执行以下命令。
定期检查命令
停止检查命令
|
---|
ipmitool -H ip_address -I lanplus -U username -P password power status |
编辑在BMC强制停止资源中使用的命令
对于强制停止资源,可以通过编辑执行命令的脚本文件来指定在强制停止时使用的任意的命令行。
可以编辑以下文件。
<EXPRESSCLUSTER安装路径>\bin\clpbmcforcestop.sh
对于BMC强制停止资源,使用脚本执行命令时,在环境变量中设置所需信息。
在脚本中描述下图的环境变量。
环境变量 |
环境变量的值 |
意思 |
---|---|---|
CLP_BMC_ACTION
・・・强制停止动作
|
power off : BMC Power Off
power reset : BMC Reset
power cycle : BMC Power Cycle
power diag : BMC NMI
|
表示在BMC强制停止属性中设置的强制停止动作。 |
CLP_BMC_HOST
・・・BMC的IP地址
|
IP地址 |
表示在BMC强制停止属性中设置的IP地址。 |
CLP_BMC_USER
・・・BMC的用户名
|
用户名 |
表示在BMC强制停止属性中设置的用户名。 |
CLP_BMC_PASSWORD
・・・BMC的密码
|
密码 |
表示在BMC强制停止属性中设置的密码。 |
关于设置BMC强制停止资源的详细内容请参考本指南的"2. 参数的详细信息"的"集群属性"的"Fencing 标签页"的"强制停止"的"BMC 强制停止的属性"。
7.2.2. BMC 强制停止资源的注意事项¶
- 关于强行停止的影响使用强行停止功能时,不论OS和服务器状态如何,都将强行执行Power off, Reset,PowerCycle,NMI,所以以下功能会受到影响。
- 轮询收集因为无法识别是否正在收集轮询信息,因此即使正在收集轮询,也会发生Power off, Reset,PowerCycle,从而导致轮询不能完成收集。
- 心跳超时以内的电源关闭操作心跳超时时间内因为维护等目的重新打开服务器的电源时,心跳超时时间超过后,可执行会发生Power off,Reset,Power cycle,NMI。
- 关于BMC的网络设置请通过设置保证BMC管理用LAN端口的IP地址和OS所使用的IP地址之间能够进行通信。在BMC管理用网络阻塞的情况下不能使用该功能。请将与BMC的管理用LAN端口中设置的IP地址相同的IP地址,从BMC强制停止属性的服务器列表标签页的编辑按钮设置为输入BMC。关于BMC管理用LAN端口的IP地址等的设置方法,请参考服务器的手册等资料。
使用强制停止功能时,必须设置每台服务器BMC的IP地址、用户名和密码。 请务必设置已注册密码的用户名。
7.3. 理解vCenter环境中的强制停止¶
7.3.1. vCenter 强制停止资源的设置¶
为了使用vCenter 强制停止资源,必须安装VMware vSphere Command Line Interface (vCLI)。
vCenter强制停止资源中使用的命令
使用VMware vSphere Command Line Interface (vCLI)的[vmcontrol]命令强制停止虚拟机的客户OS。
使用[vminfo]命令进行强制停止资源的状态定期检查,执行强制停止后的停止检查。
执行命令时设置以下选项值。
命令选项
|
vCenter强制停止属性的vCenter标签页的设置项 |
vCenter强制停止属性的
服务器列表的编辑[输入虚拟机名]设置项
|
---|---|---|
--server ip_address |
IP地址 |
- |
--username username |
用户名 |
- |
--password password |
密码 |
- |
-- vmname virtualmachine |
- |
虚拟机名 |
--datacenter datacenter |
- |
数据中心名 |
vCenter强制停止资源的强制停止时会执行以下命令。
强制停止动作 |
命令 |
---|---|
Power off |
vmcontrol.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter --operation poweroff |
reset |
vmcontrol.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter --operation reset |
vCenter强制停止资源的定期检查时会执行以下命令。
定期检查命令 |
---|
vminfo.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter --powerstatus "poweredOn" |
vCenter执行强制停止后的停止检查时会执行以下命令。
停止检查命令 |
---|
vminfo.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter --powerstatus "poweredOff" |
编辑在vCenter强制停止资源中使用的命令
对于强制停止资源,可以通过编辑执行命令的脚本文件来指定在强制停止时使用的任意的命令行。
可以编辑以下文件。
<EXPRESSCLUSTER安装路径>\bin\clpvcenterforcestop.sh
对于vCenter强制停止资源,使用脚本执行命令时,在环境变量中设置所需信息。
在脚本中描述下图的环境变量。
环境变量 |
环境变量的值 |
意思 |
---|---|---|
CLP_VCLI_PATH
・・・vCLI安装路径
|
安装路径 |
表示在vCenter强制停止属性中设置的VMware vSphere CLI安装路径。 |
CLP_VCENTER_ACTION
・・・强制停止动作
|
poweroff : Power off
reset : reset
|
表示在vCenter强制停止属性中设置的强制停止动作。 |
CLP_VCENTER_HOST
・・・vCenter的主机名
|
主机名 |
表示在vCenter强制停止属性中设置的主机名。 |
CLP_VCENTER_USER
・・・vCenter的用户名
|
用户名 |
表示在vCenter强制停止属性中设置的用户名。 |
CLP_VCENTER_PASSWORD
・・・vCenter的密码
|
密码 |
表示在vCenter强制停止属性中设置的密码。 |
CLP_VMNAME
・・・虚拟机名
|
虚拟机名 |
表示在vCenter强制停止属性中设置的虚拟机名。 |
CLP_DATACENTER_NAME
・・・数据中心名
|
数据中心名 |
表示在vCenter强制停止属性中设置的数据中心名。 |
关于设置vCenter强制停止资源的详细内容请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页" - "强制停止" - "vCenter 强制停止的属性"。
7.3.2. vCenter 强制停止资源的注意事项¶
- 关于虚拟机的客户机OS的强制停止只可以执行power off、reset。此外,以下情况下不能使用本功能。
vSphere基础架构 :没有与VMWare vCenter Server进行通信。
- 关于强制停止的影响点如果使用强制停止功能,则不论OS或服务器处于何种状态,都会进行强制的power off,reset,因此以下功能将受到影响。
- Dump收集由于无法识别是否正在进行Dump收集,所以即便正在进行Dump收集处理,也会发生power off,reset,无法完成Dump收集。
- 心跳超时以内的电源开启操作在心跳超时时间内以维护等为目的再次开启服务器电源时,超过心跳超时时间后,有时也会发生power off,reset。
7.4. 理解AWS环境中的强制停止¶
7.4.1. AWS 强制停止资源的设置¶
为了使用AWS强制停止资源,必须安装AWS Command Line Interface (AWS CLI)。
关于AWS CLI的获取和安装方法,请参考《开始指南》的"注意限制事项"的"安装OS后,安装EXPRESSCLUSTER前"的"AWS环境中的时刻同步"以及"关于AWS环境中IAM的设置"。
在AWS强制停止资源中使用的命令
使用AWS Command Line Interface (AWS CLI)命令,进行AWS实例的强制停止、强制停止资源的状态定期检查、执行强制停止后的停止检查。
执行命令时请设置以下选项值。
命令选项
|
AWS强制停止属性的
服务器列表的编辑[输入实例]设置项
|
---|---|
--instance-ids instance-ids |
实例ID |
AWS强制停止资源的强制停止时执行以下命令。
强制停止动作 |
命令 |
---|---|
stop |
aws ec2 stop-instances --instance-ids instance-ids --force |
reboot |
aws ec2 reboot-instances --instance-ids instance-ids |
AWS强制停止资源的定期检查时执行以下命令。
强制停止动作 |
定期检查命令 |
---|---|
stop |
aws ec2 stop-instances --instance-ids instance-ids --dry-run |
reboot |
aws ec2 reboot-instances --instance-ids instance-ids --dry-run |
AWS执行强制停止后的停止检查时执行以下命令。
停止检查命令 |
---|
aws ec2 describe-instances --instance-ids instance-ids --filters \"Name=instance-state-name,Values=stopped\" |
编辑在AWS强制停止资源中使用的命令
对于强制停止资源,可以通过编辑执行命令的脚本文件来指定在强制停止时使用的任意的命令行。
可以编辑以下文件。
<EXPRESSCLUSTER安装路径>\cloud\aws\clpawsforcestop.sh
关于设置AWS强制停止资源的详细内容请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页" - "强制停止" - "AWS 强制停止的属性"。
7.4.2. 使环境变量反映到AWS强制停止资源执行的AWS CLI中¶
通过在环境变量设置文件中指定环境变量,可以反映在从以下AWS相关资源执行的 AWS CLI 中。
AWS Elastic IP 资源
AWS 虚拟 IP资源
AWS 辅助 IP资源
AWS DNS资源
AWS Elastic IP监视资源
AWS 虚拟 IP监视资源
AWS 辅助 IP监视资源
AWS AZ监视资源
AWS DNS监视资源
AWS 强制停止资源
AWS环境中,使用代理服务器等场合时有效。
环境变量设置文件的配置如下所示。
<EXPRESSCLUSTER安装路径>/cloud/aws/clpaws_setting.conf
环境变量设置文件的格式如下所示。
环境变量名= 值
指定例)
[ENVIRONMENT] HTTP_PROXY = http://10.0.0.1:3128 HTTPS_PROXY = http://10.0.0.1:3128
参数设置多个值时,请以逗号分隔(,)列出。除了环境变量NO_PROXY之外指定多个连接目标时的记载示例如下所示。
指定例)
NO_PROXY = 169.254.169.254,ec2.ap-northeast-1.amazonaws.com
环境变量设置文件的式样如下所示。
第一行请务必指定为[ENVIRONMENT]。不指定时,不设置环境变量。
环境变量设置文件不存在时,以及没有读取权限时忽略。不会导致启动异常和监视异常。
已设置了同名的环境变量时,会覆盖原有的值。
可设置多个环境变量。设置多个环境变量时,一行请只设置一个环境变量。
=两侧的空格的有无不影响设置是否有效。
环境变量名的前面存在空格或者标签时,以及=的两侧存在标签时,设置无效。
环境变量区分大小写。
值中含有空格时,不需要使用""(双引号)括起来。
没有设置描述#无论A的位置如何#的行的环境变量。
在环境变量设置文件中设置的环境变量仅反映在从上述AWS相关资源执行的AWS CLI中。因此,不会反映在其他脚本中(例:最终动作前脚本、启动/停止前后脚本、从脚本资源执行的脚本)。如果是在其他脚本中执行AWS CLI,请在该脚本中设置所需的环境变量。
7.4.3. AWS 强制停止资源的注意事项¶
- 关于虚拟机的客户机OS的强制停止只可以执行stop 、reboot操作。此外,以下情况下不能使用本功能。
- 关于强制停止的影响点如果使用强制停止功能,则不论OS或服务器处于何种状态,都会进行强制的power off,reset,因此以下功能将受到影响。
- Dump收集由于无法识别是否正在进行Dump收集,所以即便正在进行Dump收集处理,也会发生power off,reset,无法完成Dump收集。
- 心跳超时以内的电源开启操作在心跳超时时间内以维护等为目的再次开启服务器电源时,超过心跳超时时间后,有时也会发生power off,reset。
7.5. 理解OCI环境中的强制停止¶
7.5.1. OCI 强制停止资源的设置¶
为了使用OCI强制停止资源,必须要安装Oracle Cloud Infrastructure CLI (OCI CLI)。
关于OCI CLI的获取和安装方法,请参考《开始指南》的"注意限制事项"的"安装OS后,安装EXPRESSCLUSTER前"的"关于OCI环境中CLI的设置"以及"关于OCI强制停止资源的设置"。
在OCI强制停止资源中使用的命令
使用Oracle Cloud Infrastructure CLI (OCI CLI)命令,进行OCI实例的强制停止、强制停止资源状态的定期检查、执行强制停止后的停止检查。
执行命令时请设置以下选项值。
命令选项
|
OCI强制停止属性的
服务器列表的编辑[输入实例]设置项
|
---|---|
--instance-ids instance-ids |
实例ID |
OCI强制停止资源的强制停止时执行以下命令。
强制停止动作 |
命令 |
---|---|
stop |
oci compute instance action --action STOP --instance-id instance-ids |
reboot |
oci compute instance action --action RESET --instance-id instance-ids |
OCI强制停止资源的定期检查时执行以下命令。
定期检查命令 |
---|
oci compute instance update --instance-id instance-ids --wait-for-state RUNNING ––max-wait-seconds 1 |
OCI执行强制停止后的停止检查时执行以下命令。
停止检查命令 |
---|
oci compute instance get --instance-id instance-ids | grep lifecycle-state | awk -F" '{print $4}' |
编辑在OCI强制停止资源中使用的命令
对于强制停止资源,可以通过编辑执行命令的脚本文件来指定在强制停止时使用的任意的命令行。
可以编辑以下文件。
<EXPRESSCLUSTER安装路径>\cloud\oci\clpociforcestop.sh
关于设置OCI强制停止资源的详细内容请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页" - "强制停止" - "OCI 强制停止的属性"。
7.5.2. OCI 强制停止资源的注意事项¶
- 关于虚拟机的客户机OS的强制停止只可以执行stop 、reboot操作。此外,以下情况下不能使用本功能。
- 关于强制停止的影响点如果使用强制停止功能,则不论OS或服务器处于何种状态,都会进行强制的power off,reset,因此以下功能将受到影响。
- Dump收集由于无法识别是否正在进行Dump收集,所以即便正在进行Dump收集处理,也会发生power off,reset,无法完成Dump收集。
- 心跳超时以内的电源开启操作在心跳超时时间内以维护等为目的再次开启服务器电源时,超过心跳超时时间后,有时也会发生power off,reset。
7.6. 理解使用任意脚本的强制停止¶
7.6.1. 自定义强制停止资源的设置¶
当服务器识别为宕机时,在剩余的服务器中(正常的服务器)执行用户创建的任意脚本的功能。
通过编写脚本,可以强制停止宕机的服务器。
在任意脚本中使用的环境变量
执行脚本时,EXPRESSCLUSTER 设置环境变量,其中包含是否执行定期检查或强制停止以及哪个服务器宕机等信息。
在脚本中,可以使用下图所示的环境变量作为分支条件来描述适合系统运行的处理内容。
环境变量 |
环境变量的值 |
意思 |
---|---|---|
CLP_FORCESTOP_MODE
・・・模式
|
0 : 定期检查时
1 : 执行强制停止时
|
表示执行的模式。
可以对每个模式的处理进行分支。
|
CLP_SERVER_DOWN
・・・宕机服务器名
|
服务器名 |
表示宕机的服务器名。
定期检查时设置 "" 。
|
CLP_SERVER_LOCAL
・・・本地服务器名
|
服务器名 |
表示执行脚本的服务器名。 |
任意脚本的返回值
脚本正常终了时请返回0。
关于设置自定义强制停止资源的详细内容请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页" - "强制停止" - "自定义强制停止的属性"。
7.6.2. 自定义强制停止资源的注意事项¶
请客户将停止服务器的处理记入到强制停止脚本中。
7.7. 强制停止资源的设置相关注意事项¶
一个集群只能设置一个强制停止资源。
设置强制停止资源时,建议同时设置网络分区解决资源。
设置强制停止资源时,需要将组成集群的所有服务器设置为使用强制停止资源。