0

我使用 Pacemaker+Corosync 来处理我的集群。DRBD+FileSystem+IPADDR 资源配置成功并正常运行。

我现在的目的是在发生故障转移时执行我自己的脚本(实际上是启动 oracle 服务)。

正如我在几个地方看到的那样,我将“虚拟”资源代理复制它并修改此文件以在启动函数中运行我的脚本。

我使用新的资源代理创建了我的资源,它已成功创建并且还具有“已启动”状态。

现在的问题是,当资源启动时,我的脚本没有运行(当然,在故障转移和切换时它也没有运行)。

我尝试运行资源命令“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}
}*

我的 cluster_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*
4

0 回答 0