26.6. 리소스 및 리소스 작업 기본값을 사용하여 고가용성 클러스터 구성

(RHEL 8.9 이상) 다음 절차에서는 ha_cluster 시스템 역할을 사용하여 리소스 및 리소스 작업 기본값을 정의하는 고가용성 클러스터를 생성합니다.

사전 요구 사항

  • 플레이북을 실행할 노드에 ansible-core 가 설치되어 있어야 합니다.

    참고

    클러스터 멤버 노드에 ansible-core 를 설치할 필요가 없습니다.

  • 플레이북을 실행하려는 시스템에 rhel-system-roles 패키지가 설치되어 있습니다.
  • 클러스터 구성원에게 RHEL 및 RHEL 고가용성 애드온에 대한 활성 서브스크립션 적용 범위로 사용할 시스템이 있습니다.
주의

ha_cluster 시스템 역할은 지정된 노드의 기존 클러스터 구성을 대체합니다. 역할에 지정되지 않은 모든 설정은 손실됩니다.

절차

  1. ha_cluster 시스템 역할에 대한 인벤토리 지정에 설명된 대로 클러스터의 노드를 지정하는 인벤토리 파일을 생성합니다.
  2. 플레이북 파일(예: new-cluster.yml )을 생성합니다.

    참고

    프로덕션용 플레이북 파일을 생성할 때 자격 증명 모음은 Ansible Vault로 콘텐츠 암호화에 설명된 대로 암호를 암호화합니다.

    다음 예제 플레이북 파일은 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. 1단계에서 생성한 인벤토리 파일 인벤토리 의 경로를 지정하여 플레이북을 실행합니다.

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