11.6. 配置具有资源和资源操作默认值的高可用性集群
(RHEL 8.9 及更高版本)使用 ha_cluster
系统角色创建定义资源和资源操作默认值的高可用性集群。
警告
ha_cluster
系统角色替换指定节点上任何现有的群集配置。playbook 中指定的任何设置都将丢失。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 - 作为集群成员运行的系统必须拥有对 RHEL 和 RHEL 高可用性附加组件的有效订阅。
- 清单文件指定集群节点,如 为 ha_cluster 系统角色指定清单 中所述。
步骤
创建包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Create a high availability cluster that defines resource and resource operation defaults hosts: node1 node2 roles: - rhel-system-roles.ha_cluster vars: ha_cluster_cluster_name: my-new-cluster ha_cluster_hacluster_password: <password> ha_cluster_manage_firewall: true ha_cluster_manage_selinux: true # Set a different
resource-stickiness
value during # and outside work hours. This allows resources to # automatically move back to their most # preferred hosts, but at a time that # does not interfere with business activities. ha_cluster_resource_defaults: meta_attrs: - id: core-hours rule: date-spec hours=9-16 weekdays=1-5 score: 2 attrs: - name: resource-stickiness value: INFINITY - id: after-hours score: 1 attrs: - name: resource-stickiness value: 0 # Default the timeout on all 10-second-interval # monitor actions on IPaddr2 resources to 8 seconds. ha_cluster_resource_operation_defaults: meta_attrs: - rule: resource ::IPaddr2 and op monitor interval=10s score: INFINITY attrs: - name: timeout value: 8s这个示例 playbook 文件配置一个运行
firewalld
和selinux
服务的集群。集群包括资源和资源操作默认值。为生产环境创建 playbook 文件时,vault 会加密密码,如在 使用 Ansible Vault 加密内容 中所述。
验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.ha_cluster/README.md
文件 -
/usr/share/doc/rhel-system-roles/ha_cluster/
directory