如何使用 Corosync/Pacemaker 为服务创建资源

如何使用 Corosync/Pacemaker 为服务创建资源

我是 serverfault 的新手,希望看到专家回答我的问题。

我已经为 1 单元 vCloud Director 完成了主动/被动设置。以下是设置详细信息。

  • 操作系统:CentOS 7.10
  • vCloud Director:9.5
  • DRBD9.0:用于两个节点之间的数据复制
  • Corosync 和 Pacemaker:用于心跳和资源创建。

以下是集群的详细信息: 为服务 vmware-vcd 创建资源 VCD-SERVICE 后,出现以下操作失败的情况,即使我重新启动 pacemaker,集群也会进入无响应模式。

使用此命令创建的资源:

pcs resource create VCD-SERVICE lsb:vmware-vcd op monitor interval=15s

非常感谢专家的宝贵意见,提前致谢。

# pcs status
Cluster name: VCD_Cluster
Stack: corosync
Current DC: app1 (version 1.1.19-8.el7_6.2-c3c624ea3d) - partition with quorum
Last updated: Wed Jan  9 07:11:40 2019
Last change: Wed Jan  9 06:52:26 2019 by root via cibadmin on app2

2 nodes configured
5 resources configured

Online: [ app1 ]
OFFLINE: [ app2 ]

Full list of resources:

 VCD_VIP        (ocf::heartbeat:IPaddr2):       Started app1
 Master/Slave Set: VCDClone [VCD-DRBD]
     Masters: [ app1 ]
     Stopped: [ app2 ]
 VCD_FS (ocf::heartbeat:Filesystem):    Started app1
 VCD-SERVICE    (lsb:vmware-vcd):        ORPHANED FAILED app2 (blocked)

Failed Actions:
* VCD-SERVICE_monitor_0 on app1 'not installed' (5): call=18, status=Not installed, exitreason='',
    last-rc-change='Wed Jan  9 07:09:33 2019', queued=1ms, exec=1ms
* VCD-SERVICE_stop_0 on app2 'not configured' (6): call=21, status=complete, exitreason='',
    last-rc-change='Wed Jan  9 07:14:32 2019', queued=0ms, exec=28ms


Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled

请参阅图片了解 VCD-SERVICE 详情在此处输入图片描述

答案1

我相信您想VCD-SERVICEsystemd类而不是来定义lsb

LSB 初始化脚本必须位于 中/etc/init.d,并且必须符合 LSB 退出代码才能与 Pacemaker 一起使用。在 CentOS 7 中,大多数服务由 控制systemd

编辑1:这是 LSB 规范的链接: http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html

以及另一个指向 Linux-HA.org wiki 的链接来检查是否符合要求: http://www.linux-ha.org/wiki/LSB_Resource_Agents

通常,编辑 init 脚本使其符合 LSB 要求相当容易,但您也可以为 Pacemaker 编写 OCF 资源代理。快速 Google 搜索“OCF Pacemaker 资源代理开发”应该会找到一些不错的资源。

相关内容