25.5. 펜싱 및 리소스를 사용하여 고가용성 클러스터 구성
다음 절차에서는 ha_cluster 시스템 역할을 사용하여 펜싱 장치, 클러스터 리소스, 리소스 그룹, 복제된 리소스가 포함된 고가용성 클러스터를 생성합니다.
사전 요구 사항
플레이북을 실행할 노드에
ansible-core가 설치되어 있어야 합니다.참고클러스터 멤버 노드에
ansible-core를 설치할 필요가 없습니다.-
플레이북을 실행하려는 시스템에
rhel-system-roles패키지가 설치되어 있습니다. - 클러스터 구성원에게 RHEL 및 RHEL 고가용성 애드온에 대한 활성 서브스크립션 적용 범위로 사용할 시스템이 있습니다.
ha_cluster 시스템 역할은 지정된 노드의 기존 클러스터 구성을 대체합니다. 역할에 지정되지 않은 모든 설정은 손실됩니다.
절차
- ha_cluster 시스템 역할에 대한 인벤토리 지정에 설명된 대로 클러스터의 노드를 지정하는 인벤토리 파일을 생성합니다.
플레이북 파일(예:
new-cluster.yml)을 생성합니다.참고프로덕션용 플레이북 파일을 생성할 때 자격 증명 모음은 Ansible Vault로 콘텐츠 암호화에 설명된 대로 암호를 암호화합니다.
다음 예제 플레이북 파일은
firewalld및selinux서비스를 실행하는 클러스터를 구성합니다. 클러스터에는 펜싱, 여러 리소스, 리소스 그룹이 포함됩니다. 리소스 그룹에 대한 리소스 복제도 포함되어 있습니다.- hosts: node1 node2 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_resource_primitives: - id: xvm-fencing agent: 'stonith:fence_xvm' instance_attrs: - attrs: - name: pcmk_host_list value: node1 node2 - id: simple-resource agent: 'ocf:pacemaker:Dummy' - id: resource-with-options agent: 'ocf:pacemaker:Dummy' instance_attrs: - attrs: - name: fake value: fake-value - name: passwd value: passwd-value meta_attrs: - attrs: - name: target-role value: Started - name: is-managed value: 'true' operations: - action: start attrs: - name: timeout value: '30s' - action: monitor attrs: - name: timeout value: '5' - name: interval value: '1min' - id: dummy-1 agent: 'ocf:pacemaker:Dummy' - id: dummy-2 agent: 'ocf:pacemaker:Dummy' - id: dummy-3 agent: 'ocf:pacemaker:Dummy' - id: simple-clone agent: 'ocf:pacemaker:Dummy' - id: clone-with-options agent: 'ocf:pacemaker:Dummy' ha_cluster_resource_groups: - id: simple-group resource_ids: - dummy-1 - dummy-2 meta_attrs: - attrs: - name: target-role value: Started - name: is-managed value: 'true' - id: cloned-group resource_ids: - dummy-3 ha_cluster_resource_clones: - resource_id: simple-clone - resource_id: clone-with-options promotable: yes id: custom-clone-id meta_attrs: - attrs: - name: clone-max value: '2' - name: clone-node-max value: '1' - resource_id: cloned-group promotable: yes roles: - rhel-system-roles.ha_cluster- 파일을 저장합니다.
1단계에서 생성한 인벤토리 파일 인벤토리 의 경로를 지정하여 플레이북을 실행합니다.
# ansible-playbook -i inventory new-cluster.yml