![如何使用 Corosync/Pacemaker 为服务创建资源](https://linux22.com/image/731794/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Corosync%2FPacemaker%20%E4%B8%BA%E6%9C%8D%E5%8A%A1%E5%88%9B%E5%BB%BA%E8%B5%84%E6%BA%90.png)
我是 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-SERVICE
用systemd
类而不是来定义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 资源代理开发”应该会找到一些不错的资源。