11.11. 使用仲裁设备配置高可用性集群

(RHEL 8.8 及更高版本)要使用 ha_cluster 系统角色配置带有独立仲裁设备的高可用性集群,首先设置仲裁设备。设置仲裁设备后,您可以在任意数量的集群中使用该设备。

11.11.1. 配置仲裁设备

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

警告

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

先决条件

步骤

  1. 创建包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configure a quorum device
      hosts: nodeQ
      roles:
        - rhel-system-roles.ha_cluster
      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

    这个示例 playbook 文件在运行 firewalldselinux 服务的系统中配置仲裁设备。

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

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 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

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

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

警告

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

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户具有 sudo 权限。
  • 作为集群成员运行的系统必须拥有对 RHEL 和 RHEL 高可用性附加组件的有效订阅。
  • 清单文件指定集群节点,如 为 ha_cluster 系统角色指定清单 中所述。
  • 您已配置了一个仲裁设备。

步骤

  1. 创建包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configure a cluster to use a quorum device
      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
        ha_cluster_quorum:
          device:
            model: net
            model_options:
              - name: host
                value: nodeQ
              - name: algorithm
                value: lms

    这个示例 playbook 文件配置一个运行使用仲裁设备的 firewalldselinux 服务的集群。

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

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 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