22.4. 펜싱 및 리소스를 사용하여 고가용성 클러스터 구성
다음 절차에서는 ha_cluster
시스템 역할을 사용하여 펜싱 장치, 클러스터 리소스, 리소스 그룹 및 복제된 리소스가 포함된 고가용성 클러스터를 생성합니다.
사전 요구 사항
플레이북을 실행할 노드에
ansible-core
가 설치되어 있어야 합니다.참고클러스터 멤버 노드에
ansible-core
를 설치할 필요가 없습니다.-
플레이북을 실행할 시스템에
rhel-system-roles
패키지가 설치되어 있습니다. - 클러스터 구성원으로 사용할 시스템에는 RHEL 및 RHEL 고가용성 애드온에 대한 유효한 서브스크립션 적용 범위가 있어야 합니다.
ha_cluster
시스템 역할은 지정된 노드의 기존 클러스터 구성을 대체합니다. 역할에 지정되지 않은 설정은 모두 손실됩니다.
절차
-
ha_cluster
시스템 역할에 대한 인벤토리 지정에 설명된 대로 클러스터에서 노드를 지정하는 인벤토리파일을 만듭니다. 플레이북 파일(예:
new-cluster.yml
)을 생성합니다.참고프로덕션용 플레이북 파일을 생성할 때 Ansible Vault를 사용하여 콘텐츠 암호화에 설명된 대로 암호를 암호화하는 것이 좋습니다.
다음 예제 플레이북 파일은 펜싱, 여러 리소스, 리소스 그룹을 포함하는 클러스터를 구성합니다. 리소스 그룹에 대한 리소스 복제도 포함합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - hosts: node1 node2 vars: ha_cluster_cluster_name: my-new-cluster ha_cluster_hacluster_password: password 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
- hosts: node1 node2 vars: ha_cluster_cluster_name: my-new-cluster ha_cluster_hacluster_password: password 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단계에서 생성한 인벤토리 파일 인벤토리 의 경로를 지정하여 플레이북을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -i inventory new-cluster.yml
# ansible-playbook -i inventory new-cluster.yml