我正在尝试创建一个 Ansible Pacemaker 角色,该角色创建 CIB 配置然后推送它。问题是:如果资源未停止,Pacemaker 会拒绝销毁资源。
然后我尝试弄清楚如何在重新启动所有资源之前正确地停止它们(或者销毁它们,或者关闭集群,无论之后是否立即推送新的 CIB)。
最好的办法是强制销毁未使用的资源,但我不知道如何crmsh
做到这一点。
您有什么想法吗?谢谢!
答案1
有一个剧本“停止与给定前缀字符串匹配的 Pacemaker 资源”,发布于https://github.com/larsks/osp-6-7-ansible/blob/master/playbooks/roles/pcs-stop-prefix/tasks/main.yml
检查源,它调用command: pcs resource disable {{item}}
然后等待直到资源通过定期解析而停止pcs status xml
。后者对于您的情况可能至关重要。
答案2
停止 Pacemaker 集群中所有资源的最简单方法是将集群属性“stop-all-resources”设置为“true”。
如果您使用“crmsh”:
# crm configure property stop-all-resources=true
如果您使用‘pcs’:
# pcs property set stop-all-resources=true
希望这对您有帮助。