본문 바로가기

Engineering/Redhat Linux

[Redhat] pacemaker를 이용한 HA cluster 구축

 

 

pacemaker란

HA(High-availability)를 위한  레드햇에서 오픈소스로 제공하는 소프트웨어이다. 레드햇은 공식적으로 HA-addon이라는 명칭의 솔루션으로 명명하는 듯 하지만, A.K.A pacemaker인 것 같다.

해당 솔루션을 구성하는 요소는 여러가지가 있지만 대표적인 몇가지만 살펴보자면,

 

  • pacemaker: 클러스터의 리소스를 관리하고 장애 복구를 담당한다.
  • pcs:사용자가 클러스터를 관리할 수 있도록 돕는 인터페이스.  클러스터의 인증과 구성 등을 담당한다. 
  • corosync: 클러스터 노드 간의 통신을 관리 담당한다.

 


 

사전 설정

  • 클러스터 노드
hanode1 - RHEL 8.10
hanode2 - RHEL 8.10

 

  • ha repository 활성화
$ yum config-manager --set-enabled ha

 


 

관련 패키지 설치 및 데몬 시작 & 활성화

$ yum install –y pacemaker corosync pcs
$ systemctl start pacemaker; systemctl start pcsd; systemctl start corosync
$ systemctl enable pacemaker; systemctl enable pcsd; systemctl enable corosync

 

hacluster 계정 패스워드 설정 및 호스트 hacluster 계정 인증

패키지 설치 시 생성되는 'hacluster' 계정의 패스워드를 설정하고, 해당 계정이 클러스터에 접근하도록 인증 절차를 거친다.

$ echo ‘hacluster:$Password’ | chpasswd
$ pcs host auth haNode1a –u hacluster –p ‘$Password’
$ pcs host auth haNode1b –u hacluster –p ‘$Password’

 

인증한 노드를 포함한 pcs cluster 생성 후 cluster 시작

클러스터의 이름을 지정하고, 클러스터에 포함될 노드들의 IP 정보를 입력하여 클러스터로 묶어주고, 클러스터를 시작한다.

$ pcs cluster setup ha_cluster haNode1a addr=$IP1 haNode1b addr=$IP2
$ pcs cluster start --all

 

stonith & quorum 옵션 비활성화

펜싱 기능 및 quorum 기능 비활성화

$ pcs property set stonith-enabled=false
$ pcs property set no-quorum-policy=ignore

두 기능 모두 데이터 무결성을 위해 필요한 기능이다.

  • 펜싱: 장애가 발생한 노드를 강제로 클러스터로부터 격리 시키는 기능
  • quorum: 최소 가용 노드를 설정하는 기능. 만약 네트워크 단절 등으로 노드 간 통신이 불가할 때, 각 노드는 클러스터 리소스를 중복해서 관리할 수 있다. 따라서 quorum 값을 설정해서 클러스터가 동작하게 될 최소 가용 노드 수를 지정하여 데이터 중복을 방지한다.

 

 

cluster VIP resource 생성

pacemaker를 통하여 여러가지 서비스와 데이터베이스 등을 HA 구성할 수도 있다. 이번에는 VIP를 생성하여 네트워크 인터페이스를 클러스터 자원으로 생성해본다.

$ pcs resource create HA_VIP ocf:heartbeat:IPaddr2 ip=$VIP cidr_netmask=$VIP_NETMASK op monitor interval=5s –group ha-group

 

cluster 활성화

재기동 시에도 자동으로 클러스터가 시작되도록 활성화 작업을 한다.

$ pcs cluster enable --all