검색

26장. ha_cluster RHEL 시스템 역할을 사용하여 고가용성 클러스터 구성

download PDF

ha_cluster 시스템 역할을 사용하면 Pacemaker 고가용성 클러스터 리소스 관리자를 사용하는 고가용성 클러스터를 구성하고 관리할 수 있습니다.

26.1. ha_cluster 시스템 역할의 변수

ha_cluster 시스템 역할 플레이북에서는 클러스터 배포 요구 사항에 따라 고가용성 클러스터에 대한 변수를 정의합니다.

ha_cluster 시스템 역할에 대해 설정할 수 있는 변수는 다음과 같습니다.

ha_cluster_enable_repos
ha_cluster 시스템 역할에 필요한 패키지가 포함된 리포지토리를 활성화하는 부울 플래그입니다. 이 변수가 true 로 설정된 경우 기본값인 RHEL 및 RHEL High Availability Add-On에 대해 클러스터 구성원 또는 System Role으로 사용할 시스템에 대해 유효한 서브스크립션 옵션이 제공됩니다.
ha_cluster_manage_firewall

(RHEL 8.8 이상) ha_cluster 시스템 역할이 방화벽을 관리하는지 여부를 결정하는 부울 플래그입니다. ha_cluster_manage_firewalltrue 로 설정되면 방화벽 고가용성 서비스와 fence-virt 포트가 활성화됩니다. ha_cluster_manage_firewallfalse 로 설정되면 ha_cluster 시스템 역할이 방화벽을 관리하지 않습니다. 시스템이 firewalld 서비스를 실행하는 경우 플레이북에서 매개 변수를 true 로 설정해야 합니다.

ha_cluster_manage_firewall 매개변수를 사용하여 포트를 추가할 수 있지만 매개변수를 사용하여 포트를 제거할 수는 없습니다. 포트를 제거하려면 방화벽 시스템 역할을 직접 사용합니다.

RHEL 8.8부터는 ha_cluster_manage_firewalltrue 로 설정된 경우에만 방화벽이 기본적으로 구성되지 않습니다.

ha_cluster_manage_selinux

(RHEL 8.8 이상) ha_cluster 시스템 역할이 selinux 시스템 역할을 사용하여 방화벽 고가용성 서비스에 속하는 포트를 관리하는지 여부를 결정하는 부울 플래그입니다. ha_cluster_manage_selinuxtrue 로 설정된 경우 방화벽 고가용성 서비스에 속하는 포트는 SELinux 포트 유형 cluster_port_t 와 연결됩니다. ha_cluster_manage_selinuxfalse 로 설정된 경우 ha_cluster 시스템 역할은 SELinux를 관리하지 않습니다.

시스템에서 selinux 서비스를 실행하는 경우 플레이북에서 이 매개변수를 true 로 설정해야 합니다. 방화벽 구성은 SELinux 관리를 위한 사전 요구 사항입니다. 방화벽이 설치되지 않은 경우 SELinux 관리 정책을 건너뜁니다.

ha_cluster_manage_selinux 매개변수를 사용하여 정책을 추가할 수 있지만 매개변수를 사용하여 정책을 제거할 수는 없습니다. 정책을 제거하려면 selinux 시스템 역할을 직접 사용합니다.

ha_cluster_cluster_present

true 로 설정된 경우 역할에 전달된 변수에 따라 호스트에 HA 클러스터가 구성되도록 결정하는 부울 플래그입니다. 역할에 지정되지 않았으며 역할에 지원되지 않는 클러스터 구성이 손실됩니다.

ha_cluster_cluster_presentfalse 로 설정되면 모든 HA 클러스터 구성이 대상 호스트에서 제거됩니다.

이 변수의 기본값은 true 입니다.

다음 예제 Playbook은 node1node2에서 모든 클러스터 구성을 제거합니다.

- hosts: node1 node2
  vars:
    ha_cluster_cluster_present: false

  roles:
    - rhel-system-roles.ha_cluster
ha_cluster_start_on_boot
부팅 시 클러스터 서비스를 시작하도록 구성할지 여부를 결정하는 부울 플래그입니다. 이 변수의 기본값은 true 입니다.
ha_cluster_fence_agent_packages
설치할 fence 에이전트 패키지 목록입니다. 이 변수의 기본값은 fence-agents-all,fence-virt 입니다.
ha_cluster_extra_packages

설치할 추가 패키지 목록입니다. 이 변수의 기본값은 패키지가 없습니다.

이 변수는 역할에 의해 자동으로 설치되지 않은 추가 패키지(예: 사용자 정의 리소스 에이전트)를 설치하는 데 사용할 수 있습니다.

fence 에이전트를 이 목록의 멤버로 지정할 수 있습니다. 그러나 ha_cluster_fence_agent_packages 는 기본값을 덮어쓰도록 펜싱 에이전트를 지정하는 데 사용하는 권장 역할 변수입니다.

ha_cluster_hacluster_password
hacluster 사용자의 암호를 지정하는 문자열 값입니다. hacluster 사용자는 클러스터에 대한 전체 액세스 권한을 갖습니다. 중요한 데이터를 보호하기 위해 vault는 Ansible Vault로 콘텐츠 암호화에 설명된 대로 암호를 암호화합니다. 기본 암호 값은 없으며 이 변수를 지정해야 합니다.
ha_cluster_hacluster_qdevice_password
(RHEL 8.9 이상) 쿼럼 장치에 대한 hacluster 사용자의 암호를 지정하는 문자열 값입니다. 이 매개변수는 ha_cluster_quorum 매개변수가 유형 net 의 쿼럼 장치를 사용하도록 구성되어 있고 쿼럼 장치에 있는 hacluster 사용자의 암호가 ha_cluster_ hacluster _password 매개변수로 지정된 hacluster 사용자의 암호 와 다른 경우에만 필요합니다. hacluster 사용자는 클러스터에 대한 전체 액세스 권한이 있습니다. 중요한 데이터를 보호하기 위해 vault는 Ansible Vault로 콘텐츠 암호화에 설명된 대로 암호를 암호화합니다. 이 암호에 대한 기본값이 없습니다.
ha_cluster_corosync_key_src

Corosync authkey 파일의 경로입니다. 이는 Corosync 통신의 인증 및 암호화 키입니다. 각 클러스터에 대해 고유한 authkey 값이 있는 것이 좋습니다. 키는 임의 데이터의 256바이트여야 합니다.

이 변수의 키를 지정하는 경우 Ansible Vault로 콘텐츠 암호화에 설명된 대로 자격 증명 모음에서 키를 암호화하는 것이 좋습니다.

키가 지정되지 않은 경우 노드에 이미 존재하는 키가 사용됩니다. 노드에 동일한 키가 없는 경우 한 노드의 키가 다른 노드에 배포되므로 모든 노드에 동일한 키가 있습니다. 노드에 키가 없으면 새 키가 생성되어 노드에 배포됩니다.

이 변수가 설정되면 이 키로 ha_cluster_regenerate_keys 가 무시됩니다.

이 변수의 기본값은 null입니다.

ha_cluster_pacemaker_key_src

Pacemaker 통신의 인증 및 암호화 키인 Pacemaker authkey 파일의 경로입니다. 각 클러스터에 대해 고유한 authkey 값이 있는 것이 좋습니다. 키는 임의 데이터의 256바이트여야 합니다.

이 변수의 키를 지정하는 경우 Ansible Vault로 콘텐츠 암호화에 설명된 대로 자격 증명 모음에서 키를 암호화하는 것이 좋습니다.

키가 지정되지 않은 경우 노드에 이미 존재하는 키가 사용됩니다. 노드에 동일한 키가 없는 경우 한 노드의 키가 다른 노드에 배포되므로 모든 노드에 동일한 키가 있습니다. 노드에 키가 없으면 새 키가 생성되어 노드에 배포됩니다.

이 변수가 설정되면 이 키로 ha_cluster_regenerate_keys 가 무시됩니다.

이 변수의 기본값은 null입니다.

ha_cluster_fence_virt_key_src

fence-virt 또는 fence-xvm 차단 에이전트의 인증 키 위치인 fence-virt 또는 fence-xvm 사전 공유 키 파일의 경로입니다.

이 변수의 키를 지정하는 경우 Ansible Vault로 콘텐츠 암호화에 설명된 대로 자격 증명 모음에서 키를 암호화하는 것이 좋습니다.

키가 지정되지 않은 경우 노드에 이미 존재하는 키가 사용됩니다. 노드에 동일한 키가 없는 경우 한 노드의 키가 다른 노드에 배포되므로 모든 노드에 동일한 키가 있습니다. 노드에 키가 없으면 새 키가 생성되어 노드에 배포됩니다. ha_cluster 시스템 역할이 이러한 방식으로 새 키를 생성하는 경우 펜싱이 작동하는지 확인하기 위해 키를 노드의 하이퍼바이저에 복사해야 합니다.

이 변수가 설정되면 이 키로 ha_cluster_regenerate_keys 가 무시됩니다.

이 변수의 기본값은 null입니다.

ha_cluster_pcsd_public_key_srcr, ha_cluster_pcsd_private_key_src

pcsd TLS 인증서 및 개인 키 경로입니다. 이 값을 지정하지 않으면 노드에 이미 존재하는 인증서-키 쌍이 사용됩니다. 인증서-키 쌍이 없으면 임의의 새 쌍이 생성됩니다.

이 변수에 대한 개인 키 값을 지정하는 경우 Ansible Vault로 콘텐츠 암호화에 설명된 대로 자격 증명 모음 암호화 키를 암호화하는 것이 좋습니다.

이러한 변수가 설정되면 이 인증서-키 쌍에 대해 ha_cluster_regenerate_keys 가 무시됩니다.

이러한 변수의 기본값은 null입니다.

ha_cluster_pcsd_certificates

(RHEL 8.8 이상) 인증서 시스템 역할을 사용하여 pcsd 개인 키 및 인증서를 생성합니다.

시스템이 pcsd 개인 키와 인증서로 구성되지 않은 경우 다음 두 가지 방법 중 하나로 생성할 수 있습니다.

  • ha_cluster_pcsd_certificates 변수를 설정합니다. ha_cluster_pcsd_certificates 변수를 설정하면 인증서 시스템 역할이 내부적으로 사용되며 정의된 pcsd 에 대한 개인 키와 인증서를 생성합니다.
  • ha_cluster_pcsd_public_key_src,ha_cluster_pcsd_key_src , 또는 ha_ cluster_pcsd_certificates 변수를 설정하지 마십시오. 이러한 변수를 설정하지 않으면 ha_cluster 시스템 역할은 pcsd 자체를 통해 pcsd 인증서를 생성합니다. ha_cluster_pcsd_ certificate s 값은 인증서 시스템 역할에 지정된 대로 certificate_requests 변수 값으로 설정됩니다. 인증서 시스템 역할에 대한 자세한 내용은 RHEL 시스템 역할을 사용하여 인증서 요청 을 참조하십시오.

다음 운영 고려 사항은 ha_cluster_pcsd_certificate 변수 사용에 적용됩니다.

  • IPA를 사용하고 시스템을 IPA 도메인에 가입하지 않는 한, 시스템 역할은 자체 서명된 인증서를 생성합니다. 이 경우 RHEL 시스템 역할 외부에서 신뢰 설정을 명시적으로 구성해야 합니다. 시스템 역할은 신뢰 설정 구성을 지원하지 않습니다.
  • ha_cluster_pcsd_certificates 변수를 설정하는 경우 ha_cluster_pcsd_public_key_srcha_cluster_pcsd_private_key_src 변수를 설정하지 마십시오.
  • ha_cluster_pcsd_certificates 변수를 설정하면 이 인증서 - 키 쌍에 대해 ha_cluster_regenerate_keys 가 무시됩니다.

이 변수의 기본값은 [] 입니다.

고가용성 클러스터에서 TLS 인증서 및 키 파일을 생성하는 ha_cluster 시스템 역할 플레이북의 예는 고가용성 클러스터에 대한 pcsd TLS 인증서 및 키 파일 생성을 참조하십시오.

ha_cluster_regenerate_keys
true 로 설정하면 사전 공유 키와 TLS 인증서가 다시 생성되도록 결정하는 부울 플래그입니다. 키 및 인증서가 다시 생성되는 경우 ha_cluster_corosync_key_src,ha_cluster_pacemaker_key_src,ha_cluster_fence_key_src, ha_cluster_ pcsd_public _key_src 변수에 대한 설명을 참조하십시오.
이 변수의 기본값은 false 입니다.
ha_cluster_pcs_permission_list

pcsd 를 사용하여 클러스터를 관리하도록 권한을 설정합니다. 이 변수를 사용하여 구성하는 항목은 다음과 같습니다.

  • 유형 - 사용자 또는 그룹
  • 이름 - 사용자 또는 그룹 이름
  • allow_list - 지정된 사용자 또는 그룹에 대해 허용된 작업:

    • read - 클러스터 상태 및 설정 보기
    • write - 권한 및 ACL을 제외한 클러스터 설정 수정
    • grant - 클러스터 권한 및 ACL 수정
    • Full - 노드 추가 및 제거 및 키 및 인증서에 대한 액세스 제한 없이 클러스터에 액세스

ha_cluster_pcs_permission_list 변수의 구조와 기본값은 다음과 같습니다.

ha_cluster_pcs_permission_list:
  - type: group
    name: hacluster
    allow_list:
      - grant
      - read
      - write
ha_cluster_cluster_name
클러스터의 이름입니다. 이는 기본값이 my-cluster 인 문자열 값입니다.
ha_cluster_transport

(RHEL 8.7 이상) 클러스터 전송 방법을 설정합니다. 이 변수를 사용하여 구성하는 항목은 다음과 같습니다.

  • 유형 (선택 사항) - 전송 유형: knet,udp, 또는 udpu. udpudpu 전송 유형은 하나의 링크만 지원합니다. udpudpu 에 대해 암호화가 항상 비활성화되어 있습니다. 지정하지 않는 경우 기본값은 knet 입니다.
  • options (선택 사항) - 전송 옵션을 사용하는 이름-값 사전 목록입니다.
  • 링크 (선택 사항) - 이름-값 사전 목록. 이름-값 사전의 각 목록에는 하나의 Corosync 링크에 대한 옵션이 있습니다. 각 링크에 대한 linknumber 값을 설정하는 것이 좋습니다. 그렇지 않으면 첫 번째 사전 목록이 첫 번째 링크, 두 번째 링크에 기본적으로 할당되며, 두 번째 사전 목록은 기본적으로 두 번째 링크에 할당됩니다.
  • 압축 (선택 사항) - 전송 압축을 구성하는 이름-값 사전 목록입니다. knet 전송 유형에서만 지원됩니다.
  • crypto (선택 사항) - 전송 암호화를 구성하는 이름-값 사전 목록입니다. 기본적으로 암호화가 활성화됩니다. knet 전송 유형에서만 지원됩니다.

허용되는 옵션 목록은 pcs -h 클러스터 설정 도움말 페이지 또는 pcsECDHE man 페이지의 cluster 섹션에 있는 설정 설명을 참조하십시오. 자세한 내용은 corosync.conf(5) 매뉴얼 페이지를 참조하십시오.

ha_cluster_transport 변수의 구조는 다음과 같습니다.

ha_cluster_transport:
  type: knet
  options:
    - name: option1_name
      value: option1_value
    - name: option2_name
      value: option2_value
  links:
    -
      - name: option1_name
        value: option1_value
      - name: option2_name
        value: option2_value
    -
      - name: option1_name
        value: option1_value
      - name: option2_name
        value: option2_value
  compression:
    - name: option1_name
      value: option1_value
    - name: option2_name
      value: option2_value
  crypto:
    - name: option1_name
      value: option1_value
    - name: option2_name
      value: option2_value

전송 방법을 구성하는 ha_cluster 시스템 역할 플레이북의 예는 고가용성 클러스터에서 Corosync 값 구성을 참조하십시오.

ha_cluster_totem

(RHEL 8.7 이상)은 Corosync totem을 구성합니다. 허용되는 옵션 목록은 pcs -h 클러스터 설정 도움말 페이지 또는 pcsECDHE man 페이지의 cluster 섹션에 있는 설정 설명을 참조하십시오. 자세한 내용은 corosync.conf(5) 매뉴얼 페이지를 참조하십시오.

ha_cluster_totem 변수의 구조는 다음과 같습니다.

ha_cluster_totem:
  options:
    - name: option1_name
      value: option1_value
    - name: option2_name
      value: option2_value

Corosync totem을 구성하는 ha_cluster 시스템 역할 플레이북의 예는 고가용성 클러스터에서 Corosync 값 구성을 참조하십시오.

ha_cluster_quorum

(RHEL 8.7 이상) 클러스터 쿼럼을 구성합니다. 클러스터 쿼럼에 대해 다음 항목을 구성할 수 있습니다.

  • options (선택 사항) - 쿼럼을 구성하는 이름-값 사전 목록입니다. 허용되는 옵션은 auto_tie_breaker,last_man_ kind ,last_man_window, wait_for_all 입니다. 쿼럼 옵션에 대한 자세한 내용은 votequorum(5) 매뉴얼 페이지를 참조하십시오.
  • 장치 (선택 사항) - (RHEL 8.8 이상)는 쿼럼 장치를 사용하도록 클러스터를 구성합니다. 기본적으로 쿼럼 장치는 사용되지 않습니다.

    • model (필수) - 쿼럼 장치 모델을 지정합니다. net 만 지원됨
    • model_options (선택 사항) - 지정된 쿼럼 장치 모델을 구성하는 이름-값 사전 목록입니다. model net 의 경우 hostalgorithm 옵션을 지정해야 합니다.

      pcs-address 옵션을 사용하여 qnetd 호스트에 연결할 사용자 지정 pcsd 주소 및 포트를 설정합니다. 이 옵션을 지정하지 않으면 역할은 호스트 의 기본 pcsd 포트에 연결됩니다.

    • generic_options (선택 사항) - 모델에 따라 지정되지 않은 쿼럼 장치 옵션을 설정하는 이름-값 사전 목록입니다.
    • heuristics_options (선택 사항) - 쿼럼 장치 이체를 구성하는 이름-값 사전 목록.

      쿼럼 장치 옵션에 대한 자세한 내용은 corosync-qdevice>-< man 페이지를 참조하십시오. 일반 옵션은 sync_ timeout 및 시간 초과입니다. model net 옵션은 quorum.device.net 섹션을 참조하십시오. 추론 옵션은 quorum.device.heuristics 섹션을 참조하십시오.

      쿼럼 장치 TLS 인증서를 다시 생성하려면 ha_cluster_regenerate_keys 변수를 true 로 설정합니다.

ha_cluster_quorum 변수의 구조는 다음과 같습니다.

ha_cluster_quorum:
  options:
    - name: option1_name
      value: option1_value
    - name: option2_name
      value: option2_value
  device:
    model: string
    model_options:
      - name: option1_name
        value: option1_value
      - name: option2_name
        value: option2_value
    generic_options:
      - name: option1_name
        value: option1_value
      - name: option2_name
        value: option2_value
    heuristics_options:
      - name: option1_name
        value: option1_value
      - name: option2_name
        value: option2_value

클러스터 쿼럼을 구성하는 ha_cluster 시스템 역할 플레이북의 예는 고가용성 클러스터에서 Corosync 값 구성을 참조하십시오. 쿼럼 장치를 사용하여 클러스터를 구성하는 ha_cluster System Role 플레이북의 예는 쿼럼 장치를 사용하여 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_sbd_enabled

(RHEL 8.7 이상) 클러스터가 SBD 노드 펜싱 메커니즘을 사용할 수 있는지 여부를 결정하는 부울 플래그입니다. 이 변수의 기본값은 false 입니다.

SBD를 활성화하는 ha_cluster 시스템 역할 플레이북의 예는 SBD 노드 펜싱을 사용하여 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_sbd_options

(RHEL 8.7 이상) SBD 옵션을 지정하는 이름-값 사전 목록입니다. 지원되는 옵션은 다음과 같습니다.

  • delay-start - 기본값은 no입니다.
  • startmode - defaults to always
  • timeout-action - 기본값은 flush,reboot
  • watchdog-timeout - 기본값은 5입니다.

    이러한 옵션에 대한 자세한 내용은 sbd>-< 도움말 페이지의 환경을 통한 구성 섹션을 참조하십시오.

SBD 옵션을 구성하는 ha_cluster 시스템 역할 플레이북의 예는 SBD 노드 펜싱을 사용하여 고가용성 클러스터 구성을 참조하십시오.

SBD를 사용하는 경우 인벤토리의 각 노드에 대해 선택적으로 워치독 및 SBD 장치를 구성할 수 있습니다. 인벤토리 파일에서 워치독 및 SBD 장치를 구성하는 방법에 대한 자세한 내용은 ha_cluster 시스템 역할에 대한 인벤토리 지정을 참조하십시오.

ha_cluster_cluster_properties

Pacemaker 클러스터 전체 구성에 대한 클러스터 속성 세트 목록입니다. 하나의 클러스터 속성 세트만 지원됩니다.

클러스터 속성 집합의 구조는 다음과 같습니다.

ha_cluster_cluster_properties:
  - attrs:
      - name: property1_name
        value: property1_value
      - name: property2_name
        value: property2_value

기본적으로는 속성이 설정되지 않습니다.

다음 예제 플레이북은 node1node2 로 구성된 클러스터를 구성하고 stonith-enabledno-quorum-policy 클러스터 속성을 설정합니다.

- hosts: node1 node2
  vars:
    ha_cluster_cluster_name: my-new-cluster
    ha_cluster_hacluster_password: password
    ha_cluster_cluster_properties:
      - attrs:
          - name: stonith-enabled
            value: 'true'
          - name: no-quorum-policy
            value: stop

  roles:
    - rhel-system-roles.ha_cluster
ha_cluster_resource_primitives

이 변수는 stonith 리소스를 포함하여 시스템 역할에 의해 구성된 pacemaker 리소스를 정의합니다. 각 리소스에 대해 다음 항목을 구성할 수 있습니다.

  • ID (필수) - 리소스 ID.
  • 에이전트 (mandatory) - 리소스 또는 stonith 에이전트의 이름입니다(예: ocf:pacemaker:Dummy 또는 stonith:fence_xvm ). stonith 에이전트에 stonith: 를 지정해야 합니다. 리소스 에이전트의 경우 ocf:pacemaker: Dummy 대신 Dummy와 같은 짧은 이름을 사용할 수 있습니다. 그러나 이름이 동일한 여러 에이전트가 설치된 경우 사용할 에이전트를 결정할 수 없으므로 역할이 실패합니다. 따라서 리소스 에이전트를 지정할 때 전체 이름을 사용하는 것이 좋습니다.
  • instance_attrs (선택 사항) - 리소스의 인스턴스 속성 세트 목록. 현재는 하나의 세트만 지원됩니다. 속성의 정확한 이름과 값은 필수인지 여부, 리소스 또는 stonith 에이전트에 따라 달라집니다.
  • meta_attrs (선택 사항) - 리소스의 메타 속성 세트 목록. 현재는 하나의 세트만 지원됩니다.
  • copy_operations_from_agent (선택 사항) - (RHEL 8.9 이상) 리소스 에이전트는 일반적으로 특정 에이전트에 최적화된 간격시간 초과 와 같은 리소스 작업에 대한 기본 설정을 정의합니다. 이 변수가 true 로 설정되면 해당 설정이 리소스 구성으로 복사됩니다. 그렇지 않으면 클러스터 전체 기본값이 리소스에 적용됩니다. ha_cluster_resource_operation_defaults 역할 변수를 사용하여 리소스의 리소스 작업 기본값도 정의하는 경우 이를 false 로 설정할 수 있습니다. 이 변수의 기본값은 true 입니다.
  • 작업 (선택 사항) - 리소스 작업 목록입니다.

    • 작업 (필수) - pacemaker 및 리소스 또는 stonith 에이전트에 정의된 작업(작업)입니다.
    • attrs (필수) - Operation options, at least one option을 지정해야 합니다.

ha_cluster 시스템 역할을 사용하여 구성하는 리소스 정의 구조는 다음과 같습니다.

  - id: resource-id
    agent: resource-agent
    instance_attrs:
      - attrs:
          - name: attribute1_name
            value: attribute1_value
          - name: attribute2_name
            value: attribute2_value
    meta_attrs:
      - attrs:
          - name: meta_attribute1_name
            value: meta_attribute1_value
          - name: meta_attribute2_name
            value: meta_attribute2_value
    copy_operations_from_agent: bool
    operations:
      - action: operation1-action
        attrs:
          - name: operation1_attribute1_name
            value: operation1_attribute1_value
          - name: operation1_attribute2_name
            value: operation1_attribute2_value
      - action: operation2-action
        attrs:
          - name: operation2_attribute1_name
            value: operation2_attribute1_value
          - name: operation2_attribute2_name
            value: operation2_attribute2_value

기본적으로 리소스는 정의되지 않습니다.

리소스 구성을 포함하는 ha_cluster 시스템 역할 플레이북의 예는 펜싱 및 리소스를 사용하여 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_resource_groups

이 변수는 시스템 역할에 의해 구성된 pacemaker 리소스 그룹을 정의합니다. 각 리소스 그룹에 대해 다음 항목을 구성할 수 있습니다.

  • ID (필수) - 그룹의 ID입니다.
  • resources (필수) - 그룹 리소스 목록입니다. 각 리소스는 ID로 참조되며 리소스는 ha_cluster_resource_primitives 변수에 정의해야 합니다. 하나 이상의 리소스가 나열되어야 합니다.
  • meta_attrs (선택 사항) - 그룹의 메타 속성 세트 목록입니다. 현재는 하나의 세트만 지원됩니다.

ha_cluster 시스템 역할을 사용하여 구성하는 리소스 그룹 정의 구조는 다음과 같습니다.

ha_cluster_resource_groups:
  - id: group-id
    resource_ids:
      - resource1-id
      - resource2-id
    meta_attrs:
      - attrs:
          - name: group_meta_attribute1_name
            value: group_meta_attribute1_value
          - name: group_meta_attribute2_name
            value: group_meta_attribute2_value

기본적으로 리소스 그룹이 정의되지 않습니다.

리소스 그룹 구성을 포함하는 ha_cluster 시스템 역할 플레이북의 예는 펜싱 및 리소스를 사용하여 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_resource_clones

이 변수는 시스템 역할에 의해 구성된 pacemaker 리소스 복제본을 정의합니다. 리소스 복제에 대해 다음 항목을 구성할 수 있습니다.

  • resource_id (필수) - 복제할 리소스입니다. 리소스는 ha_cluster_resource_primitives 변수 또는 ha_cluster_resource_groups 변수에 정의해야 합니다.
  • promotable (선택 사항) - 생성할 리소스 복제가 true 또는 false 로 표시된 승격 가능한 복제본인지 여부를 나타냅니다.
  • ID (선택 사항) - 복제본의 사용자 정의 ID입니다. ID를 지정하지 않으면 생성됩니다. 클러스터에서 이 옵션을 지원하지 않는 경우 경고가 표시됩니다.
  • meta_attrs (선택 사항) - 복제의 메타 특성 세트 목록입니다. 현재는 하나의 세트만 지원됩니다.

ha_cluster 시스템 역할을 사용하여 구성하는 리소스 복제 정의의 구조는 다음과 같습니다.

ha_cluster_resource_clones:
  - resource_id: resource-to-be-cloned
    promotable: true
    id: custom-clone-id
    meta_attrs:
      - attrs:
          - name: clone_meta_attribute1_name
            value: clone_meta_attribute1_value
          - name: clone_meta_attribute2_name
            value: clone_meta_attribute2_value

기본적으로 리소스 복제는 정의되지 않습니다.

리소스 복제 구성을 포함하는 ha_cluster 시스템 역할 플레이북의 예는 펜싱 및 리소스를 사용하여 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_resource_defaults

(RHEL 8.9 이상) 이 변수는 리소스 기본값 세트를 정의합니다. 기본값 세트를 여러 개 정의하고 규칙을 사용하여 특정 에이전트의 리소스에 적용할 수 있습니다. ha_cluster_resource_defaults 변수로 지정하는 기본값은 자체 정의된 값으로 재정의하는 리소스에 적용되지 않습니다.

메타 속성만 기본값으로 지정할 수 있습니다.

각 기본값 설정에 대해 다음 항목을 구성할 수 있습니다.

  • id (선택 사항) - 설정된 기본값의 ID입니다. 지정하지 않으면 자동으로 생성됩니다.
  • 규칙 (선택 사항) - 세트가 적용되는 리소스를 정의하는 pcs 구문을 사용하여 작성된 규칙입니다. 규칙을 지정하는 방법에 대한 자세한 내용은 pcs(8) 도움말 페이지의 리소스 기본값 세트 create 섹션을 참조하십시오.
  • score (선택 사항) - 설정된 기본값의 가중치입니다.
  • attr (선택 사항) - 기본값으로 리소스에 적용되는 메타 속성입니다.

ha_cluster_resource_defaults 변수의 구조는 다음과 같습니다.

ha_cluster_resource_defaults:
  meta_attrs:
    - id: defaults-set-1-id
      rule: rule-string
      score: score-value
      attrs:
        - name: meta_attribute1_name
          value: meta_attribute1_value
        - name: meta_attribute2_name
          value: meta_attribute2_value
    - id: defaults-set-2-id
      rule: rule-string
      score: score-value
      attrs:
        - name: meta_attribute3_name
          value: meta_attribute3_value
        - name: meta_attribute4_name
          value: meta_attribute4_value

리소스 기본값을 구성하는 ha_cluster 시스템 역할 플레이북의 예는 리소스 및 리소스 작업 기본값을 사용하여 고가용성 클러스터 구성 을 참조하십시오.

ha_cluster_resource_operation_defaults

(RHEL 8.9 이상) 이 변수는 리소스 작업 기본값 세트를 정의합니다. 기본값 세트를 여러 개 정의하고 규칙을 사용하여 특정 에이전트 및 특정 리소스 작업의 리소스에 적용할 수 있습니다. ha_cluster_resource_operation_defaults 변수로 지정하는 기본값은 자체 정의된 값으로 재정의하는 리소스 작업에 적용되지 않습니다. 기본적으로 ha_cluster 시스템 역할은 리소스 작업에 대한 고유한 값을 정의하도록 리소스를 구성합니다. ha_cluster_resource_operations_defaults 변수를 사용하여 이러한 기본값을 재정의하는 방법에 대한 자세한 내용은 ha_cluster_resource_primitivescopy_operations_from_agent 항목에 대한 설명을 참조하십시오.

메타 속성만 기본값으로 지정할 수 있습니다.

ha_cluster_resource_operations_defaults 변수의 구조는 규칙을 지정하는 방법을 제외하고 ha_cluster_resource_defaults 변수의 구조와 동일합니다. 세트가 적용되는 리소스 작업을 설명하는 규칙을 지정하는 방법에 대한 자세한 내용은 pcs(8) 도움말 페이지의 리소스 op defaults set create 섹션을 참조하십시오.

ha_cluster_constraints_location

이 변수는 리소스 위치 제약 조건을 정의합니다. 리소스 위치 제한 조건은 리소스를 실행할 수 있는 노드를 나타냅니다. 리소스 ID 또는 둘 이상의 리소스와 일치시킬 수 있는 패턴으로 지정된 리소스를 지정할 수 있습니다. 노드 이름 또는 규칙으로 노드를 지정할 수 있습니다.

리소스 위치 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • Resource (mandatory) - 제약 조건이 적용되는 리소스의 사양입니다.
  • Node (mandatory) - 리소스에서 선호하거나 피해야 하는 노드의 이름입니다.
  • ID (선택 사항) - 제약 조건의 ID입니다. 지정하지 않으면 자동으로 생성됩니다.
  • options (선택 사항) - 이름-값 사전 목록.

    • score - 제약 조건의 가중치를 설정합니다.

      • 양수 점수 값은 리소스가 노드에서 실행을 선호하는 것을 의미합니다.
      • 음수 점수 값은 리소스가 노드에서 실행되지 않도록 해야 함을 의미합니다.
      • 점수 값은 -INFINITY 는 리소스가 노드에서 실행되지 않도록 해야 함을 의미합니다.
      • 점수를 지정하지 않으면 기본값은 INFINITY 입니다.

기본적으로 리소스 위치 제한 조건이 정의되지 않습니다.

리소스 ID 및 노드 이름을 지정하는 리소스 위치 제한 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_location:
  - resource:
      id: resource-id
    node: node-name
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: option-name
        value: option-value

리소스 패턴을 지정하는 리소스 위치 제약 조건에 대해 구성하는 항목은 리소스 사양 자체를 제외하고 리소스 ID를 지정하는 리소스 위치 제약 조건에 대해 구성하는 것과 동일한 항목입니다. 리소스 사양에 지정하는 항목은 다음과 같습니다.

  • 패턴 (필수) - POSIX 확장 정규식 리소스 ID와 대조됩니다.

리소스 패턴 및 노드 이름을 지정하는 리소스 위치 제한 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_location:
  - resource:
      pattern: resource-pattern
    node: node-name
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: resource-discovery
        value: resource-discovery-value

리소스 ID와 규칙을 지정하는 리소스 위치 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • Resource (mandatory) - 제약 조건이 적용되는 리소스의 사양입니다.

    • ID (필수) - 리소스 ID.
    • role (선택 사항) - 제약 조건이 제한된 리소스 역할: Started,Unpromoted,>-<d.
  • rule (필수) - pcs 구문을 사용하여 작성된 제약 조건 규칙. 자세한 내용은 pcsECDHE man 페이지의 제약 조건 위치 섹션을 참조하십시오.
  • 지정할 다른 항목은 규칙을 지정하지 않는 리소스 제약 조건에 대해 와 동일한 의미가 있습니다.

리소스 ID와 규칙을 지정하는 리소스 위치 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_location:
  - resource:
      id: resource-id
      role: resource-role
    rule: rule-string
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: resource-discovery
        value: resource-discovery-value

리소스 위치 제약 조건에 대해 구성하는 항목이 리소스 패턴을 지정하고 규칙은 리소스 ID와 규칙을 지정하는 리소스 위치 제약 조건에 대해 구성하는 것과 동일한 항목입니다. 리소스 사양에 지정하는 항목은 다음과 같습니다.

  • 패턴 (필수) - POSIX 확장 정규식 리소스 ID와 대조됩니다.

리소스 패턴 및 규칙을 지정하는 리소스 위치 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_location:
  - resource:
      pattern: resource-pattern
      role: resource-role
    rule: rule-string
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: resource-discovery
        value: resource-discovery-value

리소스 제약 조건이 있는 클러스터를 생성하는 ha_cluster 시스템 역할 플레이북의 예 는 리소스 제약 조건으로 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_constraints_colocation

이 변수는 리소스 공동 배치 제약 조건을 정의합니다. 리소스 공동 배치 제한 조건은 한 리소스의 위치가 다른 리소스의 위치에 따라 달라짐을 나타냅니다. 두 리소스에 대한 간단한 공동 배치 제약 조건 및 여러 리소스에 대한 공동 배치 제약 조건의 두 가지 유형의 공동 배치 제약 조건이 있습니다.

간단한 리소스 공동 배치 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • resource_follower (mandatory) - resource_leader 에 상대적으로 배치되어야 하는 리소스입니다.

    • ID (필수) - 리소스 ID.
    • role (선택 사항) - 제약 조건이 제한된 리소스 역할: Started,Unpromoted,>-<d.
  • resource_leader (mandatory) - 클러스터에서 이 리소스를 먼저 배치한 다음 resource_follower 를 배치할 위치를 결정합니다.

    • ID (필수) - 리소스 ID.
    • role (선택 사항) - 제약 조건이 제한된 리소스 역할: Started,Unpromoted,>-<d.
  • ID (선택 사항) - 제약 조건의 ID입니다. 지정하지 않으면 자동으로 생성됩니다.
  • options (선택 사항) - 이름-값 사전 목록.

    • score - 제약 조건의 가중치를 설정합니다.

      • 양수 점수 값은 동일한 노드에서 리소스를 실행해야 함을 나타냅니다.
      • 음수 점수 값은 리소스를 다른 노드에서 실행해야 함을 나타냅니다.
      • 점수 값이 +INFINITY 는 동일한 노드에서 리소스를 실행해야 함을 나타냅니다.
      • score-INFINITY 는 리소스가 다른 노드에서 실행되어야 함을 나타냅니다.
      • 점수를 지정하지 않으면 기본값은 INFINITY 입니다.

기본적으로 리소스 공동 배치 제한 조건은 정의되지 않습니다.

간단한 리소스 공동 배치 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_colocation:
  - resource_follower:
      id: resource-id1
      role: resource-role1
    resource_leader:
      id: resource-id2
      role: resource-role2
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: option-name
        value: option-value

리소스 집합 공동 배치 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • resource_sets (필수) - 리소스 세트 목록.

    • resource_ids (필수) - 세트의 리소스 목록입니다.
    • 옵션 (선택 사항) - 이름-값 사전 목록이 제약 조건에 따라 세트의 리소스를 처리하는 방식을 미세 조정합니다.
  • ID (선택 사항) - 간단한 공동 배치 제약 조건에 대한 값과 동일합니다.
  • options (선택 사항) - 간단한 공동 배치 제약 조건에 대한 값과 동일합니다.

리소스 세트 공동 배치 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_colocation:
  - resource_sets:
      - resource_ids:
          - resource-id1
          - resource-id2
        options:
          - name: option-name
            value: option-value
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: option-name
        value: option-value

리소스 제약 조건이 있는 클러스터를 생성하는 ha_cluster 시스템 역할 플레이북의 예 는 리소스 제약 조건으로 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_constraints_order

이 변수는 리소스 순서 제약 조건을 정의합니다. 리소스 순서 제한 조건은 특정 리소스 작업이 발생하는 순서를 나타냅니다. 리소스 순서 제약 조건은 두 가지 리소스에 대한 간단한 순서 제한 조건과 여러 리소스에 대한 설정 순서 제약 조건의 두 가지 유형이 있습니다.

간단한 리소스 순서 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • resource_first (필수) - resource_ECDHE 리소스 가 의존하는 리소스입니다.

    • ID (필수) - 리소스 ID.
    • action (선택 사항) - resource_ ECDHE 리소스에 대해 작업을 시작하기 전에 완료해야 하는 작업입니다. 허용되는 값: start,stop,promote,demote.
  • resource_ECDHE (필수) - 종속 리소스입니다.

    • ID (필수) - 리소스 ID.
    • action (선택 사항) - resource_first 리소스의 작업이 완료된 후에만 리소스를 실행할 수 있는 작업입니다. 허용되는 값: start,stop,promote,demote.
  • ID (선택 사항) - 제약 조건의 ID입니다. 지정하지 않으면 자동으로 생성됩니다.
  • options (선택 사항) - 이름-값 사전 목록.

기본적으로 리소스 순서 제한 조건은 정의되어 있지 않습니다.

간단한 리소스 순서 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_order:
  - resource_first:
      id: resource-id1
      action: resource-action1
    resource_then:
      id: resource-id2
      action: resource-action2
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: option-name
        value: option-value

리소스 집합 순서 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • resource_sets (필수) - 리소스 세트 목록.

    • resource_ids (필수) - 세트의 리소스 목록입니다.
    • 옵션 (선택 사항) - 이름-값 사전 목록이 제약 조건에 따라 세트의 리소스를 처리하는 방식을 미세 조정합니다.
  • ID (선택 사항) - 간단한 순서 제약 조건의 값과 동일합니다.
  • options (선택 사항) - 간단한 순서 제약 조건의 값과 동일합니다.

리소스 집합 순서 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_order:
  - resource_sets:
      - resource_ids:
          - resource-id1
          - resource-id2
        options:
          - name: option-name
            value: option-value
    id: constraint-id
    options:
      - name: score
        value: score-value
      - name: option-name
        value: option-value

리소스 제약 조건이 있는 클러스터를 생성하는 ha_cluster 시스템 역할 플레이북의 예 는 리소스 제약 조건으로 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_constraints_ticket

이 변수는 리소스 티켓 제약 조건을 정의합니다. 리소스 티켓 제약 조건은 특정 티켓에 의존하는 리소스를 나타냅니다. 리소스 티켓 제약 조건에는 하나의 리소스에 대한 간단한 티켓 제약 조건 및 여러 리소스에 대한 티켓 순서 제약 조건의 두 가지 유형이 있습니다.

간단한 리소스 티켓 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • Resource (mandatory) - 제약 조건이 적용되는 리소스의 사양입니다.

    • ID (필수) - 리소스 ID.
    • role (선택 사항) - 제약 조건이 제한된 리소스 역할: Started,Unpromoted,>-<d.
  • 티켓 (필수) - 리소스가 종속된 티켓의 이름입니다.
  • ID (선택 사항) - 제약 조건의 ID입니다. 지정하지 않으면 자동으로 생성됩니다.
  • options (선택 사항) - 이름-값 사전 목록.

    • loss-policy (선택 사항) - 티켓이 취소된 경우 리소스에서 수행할 작업입니다.

기본적으로 리소스 티켓 제약 조건이 정의되지 않습니다.

간단한 리소스 티켓 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_ticket:
  - resource:
      id: resource-id
      role: resource-role
    ticket: ticket-name
    id: constraint-id
    options:
      - name: loss-policy
        value: loss-policy-value
      - name: option-name
        value: option-value

리소스 세트 티켓 제약 조건에 대해 다음 항목을 구성할 수 있습니다.

  • resource_sets (필수) - 리소스 세트 목록.

    • resource_ids (필수) - 세트의 리소스 목록입니다.
    • 옵션 (선택 사항) - 이름-값 사전 목록이 제약 조건에 따라 세트의 리소스를 처리하는 방식을 미세 조정합니다.
  • 티켓 (필수) - 간단한 티켓 제약 조건의 값과 동일합니다.
  • ID (선택 사항) - 간단한 티켓 제약 조건에 대한 값과 동일합니다.
  • options (선택 사항) - 간단한 티켓 제약 조건에 대한 값과 동일합니다.

리소스 세트 티켓 제약 조건의 구조는 다음과 같습니다.

ha_cluster_constraints_ticket:
  - resource_sets:
      - resource_ids:
          - resource-id1
          - resource-id2
        options:
          - name: option-name
            value: option-value
    ticket: ticket-name
    id: constraint-id
    options:
      - name: option-name
        value: option-value

리소스 제약 조건이 있는 클러스터를 생성하는 ha_cluster 시스템 역할 플레이북의 예 는 리소스 제약 조건으로 고가용성 클러스터 구성을 참조하십시오.

ha_cluster_qnetd

(RHEL 8.8 이상) 이 변수는 클러스터의 외부 쿼럼 장치로 사용할 수 있는 qnetd 호스트를 구성합니다.

qnetd 호스트에 대해 다음 항목을 구성할 수 있습니다.

  • present (선택 사항) - true 인 경우 호스트에서 qnetd 인스턴스를 구성합니다. false 인 경우 호스트에서 qnetd 구성을 제거합니다. 기본값은 false입니다. 이 true 를 설정하는 경우 ha_cluster_cluster_presentfalse 로 설정해야 합니다.
  • start_on_boot (선택 사항) - 부팅 시 qnetd 인스턴스가 자동으로 시작되는지 여부를 구성합니다. 기본값은 true입니다.
  • recreate_keys (선택 사항) - qnetd TLS 인증서를 다시 생성하려면 이 변수를 true 로 설정합니다. 인증서를 다시 생성하는 경우 각 클러스터에 대해 역할을 다시 실행하여 qnetd 호스트에 다시 연결하거나 pcs 를 수동으로 실행해야 합니다.

펜싱으로 인해 qnetd 작업이 중단되므로 클러스터 노드에서 qnetd 를 실행할 수 없습니다.

쿼럼 장치를 사용하여 클러스터를 구성하는 ha_cluster 시스템 역할 플레이북의 예는 쿼럼 장치를 사용하여 클러스터 구성을 참조하십시오.

추가 리소스

  • /usr/share/ansible/roles/rhel-system-roles.ha_cluster/README.md 파일
  • /usr/share/doc/rhel-system-roles/ha_cluster/ directory
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.