25.9. SBD 노드 펜싱을 사용하여 고가용성 클러스터 구성
(RHEL 9.1 이상) 다음 절차에서는 ha_cluster 시스템 역할을 사용하여 SBD 노드 펜싱을 사용하는 고가용성 클러스터를 생성합니다.
사전 요구 사항
플레이북을 실행할 노드에
ansible-core가 설치되어 있어야 합니다.참고클러스터 멤버 노드에
ansible-core를 설치할 필요가 없습니다.-
플레이북을 실행하려는 시스템에
rhel-system-roles패키지가 설치되어 있습니다. - 클러스터 구성원에게 RHEL 및 RHEL 고가용성 애드온에 대한 활성 서브스크립션 적용 범위로 사용할 시스템이 있습니다.
ha_cluster 시스템 역할은 지정된 노드의 기존 클러스터 구성을 대체합니다. 역할에 지정되지 않은 모든 설정은 손실됩니다.
이 플레이북은 인벤토리의 워치독 및 SBD 장치 구성에 설명된 대로 워치독 모듈(RHEL 9.3 이상에서 지원)을 로드하는 인벤토리 파일을 사용합니다.
절차
- 인벤토리의 워치독 및 SBD 장치 구성에 설명된 대로 워치독 및 SBD 장치를 구성하는 클러스터에서 노드를 지정하는 인벤토리 파일을 생성합니다.
플레이북 파일(예:
new-cluster.yml)을 생성합니다.참고프로덕션용 플레이북 파일을 생성할 때 자격 증명 모음은 Ansible Vault로 콘텐츠 암호화에 설명된 대로 암호를 암호화합니다.
다음 예제 플레이북 파일은 SBD 펜싱을 사용하는
firewalld및selinux서비스를 실행하는 클러스터를 구성하고 SBD Stonith 리소스를 생성합니다. 이 플레이북은 인벤토리의 워치독 및 SBD 장치 구성에 설명된 대로 워치독 모듈(RHEL 9.3 이상에서 지원)을 로드하는 인벤토리 파일을 사용합니다.- 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_sbd_enabled: yes ha_cluster_sbd_options: - name: delay-start value: 'no' - name: startmode value: always - name: timeout-action value: 'flush,reboot' - name: watchdog-timeout value: 30 # Suggested optimal values for SBD timeouts: # watchdog-timeout * 2 = msgwait-timeout (set automatically) # msgwait-timeout * 1.2 = stonith-timeout ha_cluster_cluster_properties: - attrs: - name: stonith-timeout value: 72 ha_cluster_resource_primitives: - id: fence_sbd agent: 'stonith:fence_sbd' instance_attrs: - attrs: # taken from host_vars - name: devices value: "{{ ha_cluster.sbd_devices | join(',') }}" - name: pcmk_delay_base value: 30 roles: - linux-system-roles.ha_cluster- 파일을 저장합니다.
1단계에서 생성한 인벤토리 파일 인벤토리 의 경로를 지정하여 플레이북을 실행합니다.
# ansible-playbook -i inventory new-cluster.yml