我使用Pacemaker + Corosync来处理我的群集。 DRBD + FileSystem + IPADDR资源配置成功且运行良好。
我的目的是在发生故障转移时执行我自己的脚本(实际上是启动oracle服务)。
正如我在少数地方看到的那样,我把“Dummy”资源代理复制它并修改此文件以在start函数中运行我的脚本。
我使用新的资源代理创建我的资源,它已成功创建并且也处于“已启动”状态。
现在的问题是,当资源启动时,我的脚本没有运行(当然还有故障转移和切换它没有运行)。
我尝试运行资源命令“pcs resource restart”以强制运行脚本,但它仍未运行。
但是当我使用命令“resource debug-start resource-name”时,我的脚本正在运行。
以下是我运行命令的配置和状态: 在我放置脚本的资源代理副本中 - /usr/lib/ocf/resource.d/heartbeat/StartOracle :
*startoracle_start() {
startoracle_monitor
if [ $? = $OCF_SUCCESS ]; then
/opt/startOracle.sh
return $OCF_SUCCESS
fi
touch ${OCF_RESKEY_state}
}*
我的clust_cfg文件是:
**pcs status:**
*Cluster name: opt_cluster
Stack: corosync
Current DC: pcmk01-cr (version 1.1.15-11.el7_3.2-e174ec8) - partition with quorum
Last updated: Tue Jan 17 14:31:16 2017 Last change: Tue Jan 17 14:22:40 2017 by root via cibadmin on pcmk01-cr
2 nodes and 5 resources configured
Online: [ pcmk01-cr pcmk02-cr ]
Full list of resources:
Master/Slave Set: myoptClone01 [myopt_data01]
Masters: [ pcmk01-cr ]
Slaves: [ pcmk02-cr ]
myopt_fs01 (ocf::heartbeat:Filesystem): Started pcmk01-cr
myopt_VIP01 (ocf::heartbeat:IPaddr2): Started pcmk01-cr
StartOracleResource (ocf::heartbeat:StartOracle): Started pcmk01-cr
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled*
[root@pcmk01]# **pcs resource restart StartOracleResource**
*StartOracleResource successfully restarted*
[root@pcmk01]# **pcs resource debug-start StartOracleResource**
*Operation start for StartOracleResource (ocf:heartbeat:StartOracle) returned 0
> stdout: The Oracle base remains unchanged with value /opt/oracle
> stdout: The Oracle base remains unchanged with value /opt/oracle
> stdout: Processing Database instance "mng164": log file /opt/o
oracle/ora11/shutdown.log
> stdout: The Oracle base remains unchanged with value /opt/oracle
> stdout: The Oracle base remains unchanged with value /opt/oracle
> stdout: Processing Database instance "mng164": log file /opt/oracle/ora11/startup.log
> stderr: DEBUG: StartOracleResource start : 0*