29.2. Pacemaker를 사용하여 다중 사이트 클러스터 구성

다음 절차에 따라 Booth 티켓 관리자를 사용하는 다중 사이트 구성을 구성할 수 있습니다.

이러한 예제 명령은 다음 배열을 사용합니다.

  • 클러스터 1은 cluster1-node1cluster1-node2노드로 구성됩니다.
  • 클러스터 1의 유동 IP 주소가 192.168.11.100입니다.
  • 클러스터 2는 cluster2-node1cluster2-node2로 구성됩니다.
  • 클러스터 2에는 192.168.22.100의 유동 IP 주소가 할당되어 있습니다.
  • 중재자 노드는 IP 주소가 192.168.99.100인 arbitrator-node 입니다.
  • 이 구성이 사용하는 Booth 티켓의 이름은 apacheticket입니다.

이 예제 명령은 Apache 서비스의 클러스터 리소스가 각 클러스터에 대해 리소스 그룹 apachegroup 의 일부로 구성되어 있다고 가정합니다. 각 클러스터의 Pacemaker 인스턴스가 독립적이지만 일반적인 장애 조치(failover) 시나리오이므로 리소스 및 리소스 그룹이 각 클러스터에서 동일하게 설정할 필요는 없습니다.

설정 절차에 언제든지 pcs booth config 명령을 입력하여 현재 노드 또는 클러스터의 booth 구성 또는 pcs booth status 명령을 입력하여 로컬 노드에 현재 booth 상태를 표시할 수 있습니다.

절차

  1. 두 클러스터의 각 노드에 booth-site Booth 티켓 관리자 패키지를 설치합니다.

    [root@cluster1-node1 ~]# dnf install -y booth-site
    [root@cluster1-node2 ~]# dnf install -y booth-site
    [root@cluster2-node1 ~]# dnf install -y booth-site
    [root@cluster2-node2 ~]# dnf install -y booth-site
  2. 중재자 노드에 pcs,booth-core, booth-arbitrator 패키지를 설치합니다.

    [root@arbitrator-node ~]# dnf install -y pcs booth-core booth-arbitrator
  3. firewalld 데몬을 실행하는 경우 두 클러스터의 모든 노드에서 다음 명령을 실행하고 중재자 노드에서 다음 명령을 실행하여 Red Hat High Availability Add-On에 필요한 포트를 활성화합니다.

    # firewall-cmd --permanent --add-service=high-availability
    # firewall-cmd --add-service=high-availability

    로컬 조건에 맞게 열려 있는 포트를 수정해야 할 수 있습니다. Red Hat High-Availability Add-On에 필요한 포트에 대한 자세한 내용은 고가용성 애드온의 포트 활성화를 참조하십시오.

  4. 하나의 클러스터 노드 하나에 Booth 구성을 생성합니다. 각 클러스터에 지정한 주소 및 중재자의 주소는 IP 주소여야 합니다. 각 클러스터에 유동 IP 주소를 지정합니다.

    [cluster1-node1 ~] # pcs booth setup sites 192.168.11.100 192.168.22.100 arbitrators 192.168.99.100

    이 명령은 실행 중인 노드에 구성 파일 /etc/booth/booth.conf/etc/booth/booth.key 를 생성합니다.

  5. Booth 구성에 대한 티켓을 생성합니다. 이 티켓은 이 티켓이 클러스터에 부여된 경우에만 리소스를 실행할 수 있도록 허용하는 리소스 제약 조건을 정의하는 데 사용할 티켓입니다.

    이 기본 장애 조치 구성 절차에서는 하나의 티켓만 사용하지만 각 티켓이 다른 리소스 또는 리소스와 연결된 더 복잡한 시나리오에 대한 티켓을 생성할 수 있습니다.

    [cluster1-node1 ~] # pcs booth ticket add apacheticket
  6. Booth 구성을 현재 클러스터의 모든 노드와 동기화합니다.

    [cluster1-node1 ~] # pcs booth sync
  7. 중재자 노드에서 Booth 구성을 arbitrator로 가져옵니다. 아직 수행하지 않은 경우 먼저 구성을 가져오는 노드에 pcs 를 인증해야 합니다.

    [arbitrator-node ~] # pcs host auth cluster1-node1
    [arbitrator-node ~] # pcs booth pull cluster1-node1
  8. Booth 구성을 다른 클러스터로 가져와서 해당 클러스터의 모든 노드와 동기화합니다. 중재자와 마찬가지로 이전에 수행하지 않은 경우, 먼저 구성을 가져오는 노드에 pcs 를 인증해야 합니다.

    [cluster2-node1 ~] # pcs host auth cluster1-node1
    [cluster2-node1 ~] # pcs booth pull cluster1-node1
    [cluster2-node1 ~] # pcs booth sync
  9. 중재기에서 Booth를 시작하고 활성화합니다.

    참고

    Booth가 해당 클러스터에서 Pacemaker 리소스로 실행되므로 클러스터 노드에서 Booth를 수동으로 시작하거나 활성화할 수 없습니다.

    [arbitrator-node ~] # pcs booth start
    [arbitrator-node ~] # pcs booth enable
  10. 각 클러스터에 할당된 유동 IP 주소를 사용하여 두 클러스터 사이트에서 클러스터 리소스로 실행되도록 Booth를 구성합니다. 그러면 booth-ipbooth-service 가 해당 그룹의 멤버로 포함된 리소스 그룹이 생성됩니다.

    [cluster1-node1 ~] # pcs booth create ip 192.168.11.100
    [cluster2-node1 ~] # pcs booth create ip 192.168.22.100
  11. 각 클러스터에 대해 정의한 리소스 그룹에 티켓 제약 조건을 추가합니다.

    [cluster1-node1 ~] # pcs constraint ticket add apacheticket apachegroup
    [cluster2-node1 ~] # pcs constraint ticket add apacheticket apachegroup

    다음 명령을 입력하여 현재 구성된 티켓 제약 조건을 표시할 수 있습니다.

    pcs constraint ticket [show]
  12. 이 설정에 대해 만든 티켓을 첫 번째 클러스터에 부여합니다.

    티켓을 부여하기 전에 정의 된 티켓 제약 조건을 가질 필요가 없습니다. 처음에 클러스터에 대한 티켓이 부여되면 pcs booth 티켓 취소 명령을 사용하여 수동으로 이 값을 재정의하지 않는 한 Booth는 티켓 관리를 통과합니다. pcs booth 관리 명령에 대한 자세한 내용은 pcs booth 명령의 PCS 도움말 화면을 참조하십시오.

    [cluster1-node1 ~] # pcs booth ticket grant apacheticket

이 절차를 완료한 후에도 언제든지 티켓을 추가하거나 제거할 수 있습니다. 그러나 티켓을 추가하거나 제거한 후 설정 파일을 다른 노드 및 클러스터와 동기화하고 중재자와 이 프로세스에 표시된 대로 티켓을 부여해야 합니다.

Booth 구성 파일, 티켓 및 리소스를 정리 및 제거하는 데 사용할 수 있는 추가 Booth 관리 명령에 대한 자세한 내용은 pcs booth 명령의 PCS 도움말 화면을 참조하십시오.