Pacemaker - 资源(虚拟)在故障转移时不执行我的脚本

时间:2017-01-17 12:44:49

标签: cluster-computing high-availability pacemaker drbd corosync

我使用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*

0 个答案:

没有答案