26.6. 配置具有资源和资源操作默认值的高可用性集群

(RHEL 8.9 及更高版本)以下流程使用 ha_cluster 系统角色创建定义资源和资源操作默认值的高可用性集群。

先决条件

  • 您已在要运行 playbook 的节点上安装了 ansible-core

    注意

    您不需要在集群成员节点上安装 ansible-core

  • 您已在要运行 playbook 的系统上安装了 rhel-system-roles 软件包。
  • 作为集群成员运行的系统必须拥有对 RHEL 和 RHEL 高可用性附加组件的有效订阅。
警告

ha_cluster 系统角色替换指定节点上的任何现有集群配置。没有在角色中指定的任何设置都将丢失。

流程

  1. 创建一个指定集群中节点的清单文件,如在 为 ha_cluster 系统角色指定一个清单 中所述。
  2. 创建一个 playbook 文件,如 new-cluster.yml

    注意

    为生产环境创建 playbook 文件时,vault 会加密密码,如在 使用 Ansible Vault 加密内容 中所述。

    以下示例 playbook 文件配置一个运行 firewalldselinux 服务的集群。集群包括资源和资源操作默认值。

    - hosts: node1 node2
      vars:
        ha_cluster_cluster_name: my-new-cluster
        ha_cluster_hacluster_password: password
        # 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
      roles:
        - linux-system-roles.ha_cluster
  3. 保存该文件。
  4. 运行 playbook,指定在第 1 步中创建的清单文件清单的路径。

    # ansible-playbook -i inventory new-cluster.yml