26.10. 使用仲裁设备(RHEL 8.8 及更新版本)配置一个高可用性集群

要使用 ha_cluster 系统角色,使用单独的仲裁设备配置一个高可用性集群,首先要设置仲裁设备。设置仲裁设备后,您可以在任意数量的集群中使用该设备。

26.10.1. 配置仲裁设备

要使用 ha_cluster 系统角色配置仲裁设备,请按照以下步骤操作。请注意,您不能在集群节点上运行仲裁设备。

先决条件

  • ansible-corerhel-system-roles 软件包已安装在您要运行 playbook 的节点上。

    注意

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

  • 您要用来运行仲裁设备的系统有涵盖 RHEL 和 RHEL High Availability 附加组件的有效订阅。
警告

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

流程

  1. 创建一个 playbook 文件,如 qdev-playbook.yml

    注意

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

    以下示例 playbook 文件在运行 firewalldselinux 服务的系统上配置一个仲裁设备。

    - hosts: nodeQ
      vars:
        ha_cluster_cluster_present: false
        ha_cluster_hacluster_password: password
        ha_cluster_manage_firewall: true
        ha_cluster_manage_selinux: true
        ha_cluster_qnetd:
          present: true
    
      roles:
        - linux-system-roles.ha_cluster
  2. 保存该文件。
  3. 运行 playbook,为仲裁设备指定主机节点。

    # ansible-playbook -i nodeQ, qdev-playbook.yml

26.10.2. 配置一个集群以使用仲裁设备

要将集群配置为使用仲裁设备,请按照以下步骤操作。

先决条件

  • 您已在要运行 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
        ha_cluster_manage_firewall: true
        ha_cluster_manage_selinux: true
        ha_cluster_quorum:
          device:
            model: net
            model_options:
              - name: host
                value: nodeQ
              - name: algorithm
                value: lms
    
      roles:
        - linux-system-roles.ha_cluster
  3. 保存该文件。
  4. 运行 playbook,指定在第 1 步中创建的清单文件清单的路径。

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