26장. ha_cluster RHEL 시스템 역할을 사용하여 고가용성 클러스터 구성
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_firewall
이true
로 설정되면 방화벽 고가용성 서비스와fence-virt
포트가 활성화됩니다.ha_cluster_manage_firewall
이false
로 설정되면ha_cluster
시스템 역할이 방화벽을 관리하지 않습니다. 시스템이firewalld
서비스를 실행하는 경우 플레이북에서 매개 변수를true
로 설정해야 합니다.ha_cluster_manage_firewall
매개변수를 사용하여 포트를 추가할 수 있지만 매개변수를 사용하여 포트를 제거할 수는 없습니다. 포트를 제거하려면방화벽
시스템 역할을 직접 사용합니다.RHEL 8.8부터는
ha_cluster_manage_firewall
이true
로 설정된 경우에만 방화벽이 기본적으로 구성되지 않습니다.ha_cluster_manage_selinux
(RHEL 8.8 이상)
ha_cluster
시스템 역할이selinux
시스템 역할을 사용하여 방화벽 고가용성 서비스에 속하는 포트를 관리하는지 여부를 결정하는 부울 플래그입니다.ha_cluster_manage_selinux
가true
로 설정된 경우 방화벽 고가용성 서비스에 속하는 포트는 SELinux 포트 유형cluster_port_t
와 연결됩니다.ha_cluster_manage_selinux
가false
로 설정된 경우ha_cluster
시스템 역할은 SELinux를 관리하지 않습니다.시스템에서
selinux
서비스를 실행하는 경우 플레이북에서 이 매개변수를true
로 설정해야 합니다. 방화벽 구성은 SELinux 관리를 위한 사전 요구 사항입니다. 방화벽이 설치되지 않은 경우 SELinux 관리 정책을 건너뜁니다.ha_cluster_manage_selinux
매개변수를 사용하여 정책을 추가할 수 있지만 매개변수를 사용하여 정책을 제거할 수는 없습니다. 정책을 제거하려면selinux
시스템 역할을 직접 사용합니다.ha_cluster_cluster_present
true
로 설정된 경우 역할에 전달된 변수에 따라 호스트에 HA 클러스터가 구성되도록 결정하는 부울 플래그입니다. 역할에 지정되지 않았으며 역할에 지원되지 않는 클러스터 구성이 손실됩니다.ha_cluster_cluster_present
가false
로 설정되면 모든 HA 클러스터 구성이 대상 호스트에서 제거됩니다.이 변수의 기본값은
true
입니다.다음 예제 Playbook은
node1
및node2
에서 모든 클러스터 구성을 제거합니다.- 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_certificatesha_cluster
시스템 역할은pcsd
자체를 통해pcsd
인증서를 생성합니다.ha_cluster_pcsd_
값은 인증서 시스템 역할에 지정된 대로certificate
scertificate_requests
변수 값으로 설정됩니다.인증서
시스템 역할에 대한 자세한 내용은 RHEL 시스템 역할을 사용하여 인증서 요청 을 참조하십시오.
-
다음 운영 고려 사항은
ha_cluster_pcsd_certificate
변수 사용에 적용됩니다.-
IPA를 사용하고 시스템을 IPA 도메인에 가입하지 않는 한, 시스템 역할은 자체 서명된 인증서를 생성합니다.
이 경우 RHEL 시스템 역할 외부에서 신뢰 설정을 명시적으로 구성해야 합니다. 시스템 역할은 신뢰 설정 구성을 지원하지 않습니다.
-
ha_cluster_pcsd_certificates
변수를 설정하는 경우ha_cluster_pcsd_public_key_src
및ha_cluster_pcsd_private_key_src
변수를 설정하지 마십시오. -
ha_cluster_pcsd_certificates
변수를 설정하면 이 인증서 - 키 쌍에 대해ha_cluster_regenerate_keys
가 무시됩니다.
-
IPA를 사용하고 시스템을 IPA 도메인에 가입하지 않는 한, 시스템 역할은 자체 서명된 인증서를 생성합니다.
이 변수의 기본값은
[]
입니다.고가용성 클러스터에서 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
.udp
및udpu
전송 유형은 하나의 링크만 지원합니다.udp
및udpu
에 대해 암호화가 항상 비활성화되어 있습니다. 지정하지 않는 경우 기본값은knet
입니다. -
options
(선택 사항) - 전송 옵션을 사용하는 이름-값 사전 목록입니다. -
링크
(선택 사항) - 이름-값 사전 목록. 이름-값 사전의 각 목록에는 하나의 Corosync 링크에 대한 옵션이 있습니다. 각 링크에 대한linknumber
값을 설정하는 것이 좋습니다. 그렇지 않으면 첫 번째 사전 목록이 첫 번째 링크, 두 번째 링크에 기본적으로 할당되며, 두 번째 사전 목록은 기본적으로 두 번째 링크에 할당됩니다. -
압축
(선택 사항) - 전송 압축을 구성하는 이름-값 사전 목록입니다.knet
전송 유형에서만 지원됩니다. -
crypto
(선택 사항) - 전송 암호화를 구성하는 이름-값 사전 목록입니다. 기본적으로 암호화가 활성화됩니다.knet
전송 유형에서만 지원됩니다.
-
허용되는 옵션 목록은
pcs -h 클러스터 설정
도움말 페이지 또는pcs
ECDHE 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 클러스터 설정
도움말 페이지 또는pcs
ECDHE 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
(선택 사항) - 지정된 쿼럼 장치 모델을 구성하는 이름-값 사전 목록입니다. modelnet
의 경우host
및algorithm
옵션을 지정해야 합니다.pcs-address
옵션을 사용하여qnetd
호스트에 연결할 사용자 지정pcsd
주소 및 포트를 설정합니다. 이 옵션을 지정하지 않으면 역할은호스트
의 기본pcsd
포트에 연결됩니다.-
generic_options
(선택 사항) - 모델에 따라 지정되지 않은 쿼럼 장치 옵션을 설정하는 이름-값 사전 목록입니다. heuristics_options
(선택 사항) - 쿼럼 장치 이체를 구성하는 이름-값 사전 목록.쿼럼 장치 옵션에 대한 자세한 내용은
corosync-qdevice
>-< man 페이지를 참조하십시오. 일반 옵션은sync_
및 시간 초과입니다. modeltimeout
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 toalways
-
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
기본적으로는 속성이 설정되지 않습니다.
다음 예제 플레이북은
node1
및node2
로 구성된 클러스터를 구성하고stonith-enabled
및no-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_primitives
의copy_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
구문을 사용하여 작성된 제약 조건 규칙. 자세한 내용은pcs
ECDHE 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_present
를false
로 설정해야 합니다. -
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