我在两台 RHEL7 虚拟机上设置了一个双节点集群。我使用 Pacemaker 作为我的 HA 管理软件。我为 VIP 创建了一个资源,为共享 FS 创建了另一个资源。VIP 和 FS 资源工作正常。但是,我不知道如何让特定服务像 VIP 和 FS 一样进行故障转移。我搜索了很多,但找不到办法。我有一个脚本,其中有三个选项可以启动、停止和获取服务状态。现在,我只想将服务添加到我的集群中,这样如果它在一个节点上发生故障,它就会在另一个节点上启动。我应该用什么来做到这一点?
答案1
有几种方法可以做到这一点。
最好的方法是编写自己的 OCF(开放集群框架)资源代理,如 OCF 资源代理开发人员指南中所述: http://www.linux-ha.org/doc/dev-guides/ra-dev-guide.html
您还可以编写一个 systemd 单元文件来启动您的服务,然后告诉集群使用该文件来控制该服务:
# pcs resource create whatever systemd:<systemd-unit-name>
最后,anything
您可以使用一个资源代理来启动 Linux 守护进程。RedHat 和 CentOS 似乎没有在其最新resource-agents
软件包(版本 4.1.1)中提供此资源代理。但是,您可以从 ClusterLab 的 GitHub 中获取它:https://raw.githubusercontent.com/ClusterLabs/resource-agents/master/heartbeat/anything
这三个中的一个应该适合您。但是,我建议您花时间为您的服务创建适当的 OCF 资源代理,如上面链接的 OCF RA 开发人员指南中所述。