11.10. 使用 SBD 节点隔离配置高可用性集群

(RHEL 8.7 及更高版本)使用 ha_cluster 系统角色创建使用 SBD 节点隔离的高可用性集群。

警告

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

此 playbook 使用一个加载 watchdog 模块的清单文件(在 RHEL 8.9 及更新版本中支持),如 在清单中配置 watchdog 和 SBD 设备 中所述。

先决条件

步骤

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

    ---
    - name: Create a high availability cluster that uses SBD node fencing
      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_sbd_enabled: yes
        ha_cluster_sbd_options:
          - name: delay-start
            value: 'no'
          - name: startmode
            value: always
          - name: timeout-action
            value: 'flush,reboot'
          - name: watchdog-timeout
            value: 30
        # Suggested optimal values for SBD timeouts:
        # watchdog-timeout * 2 = msgwait-timeout (set automatically)
        # msgwait-timeout * 1.2 = stonith-timeout
        ha_cluster_cluster_properties:
          - attrs:
              - name: stonith-timeout
                value: 72
        ha_cluster_resource_primitives:
          - id: fence_sbd
            agent: 'stonith:fence_sbd'
            instance_attrs:
              - attrs:
                  # taken from host_vars
                  - name: devices
                    value: "{{ ha_cluster.sbd_devices | join(',') }}"
                  - name: pcmk_delay_base
                    value: 30

    这个示例 playbook 文件配置一个运行 firewalldselinux 服务的集群,它使用 SBD 隔离并创建 SBD Stonith 资源。

    为生产环境创建 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