IT 인프라/서버

[HA] 우분투 20.04 Pacemaker 고가용성 클러스터 만들기

시큐렛 2022. 8. 3. 15:59

1.Pacemaker란

Pacemaker Active/Passive

Pacemaker는 다수의 노드(서버)를 클러스터로 묶어 자원 관리를 통해 이중화가 가능한 오픈소스의 고가용성 클러스터 자원 관리 소프트웨어이다.

 

2. 시나리오

vmware 위 우분투 20.04 버전 2대에 동일하게 아파치를 올리고 페이스매이커를 설치 후 fail over 테스트를 해본다.

노드별 웹 정보

3.사전준비

VIP : 10.10.50.4

마스터 서버 IP : 10.10.50.2

슬레이브 서버 IP : 10.10.50.3

노드별 IP 정보

4. 필요한 패키지 설치

apt install -y pacemaker pcs

5.호스트네임 및 hosts 파일 설정

hostnamectl set-hostname node1	# 마스터 서버
hostnamectl set-hostname node2	# 슬레이브 서버
vi /etc/hosts 명령 후

10.10.50.2	node1
10.10.50.3 	node2

※ 127.0.0.1 호스트네임 있을시 주석 하기 (localhost는 예외)

/etc/hosts 파일 정보

5. corosync.service 설정

vi /usr/lib/systemd/system/corosync.service
또는 vi lib/systemd/system/corosync.service 후

Type 부분 simple로 수정

6. hacluster 패스워드 설정 및 pcsd 시작

passwd hacluster
systemctl start pcsd
systemctl enable pcsd

7. pcs 설정

pcs host auth node1 node2 -u hacluster	# 마스터에만
pcs cluster setup FileCluster node1 node2 --force	# 마스터에만
pcs cluster start	# 양쪽다
pcs cluster enable 	# 양쪽다

이후 pcs status 입력하여 Node List의 온라인에 node1과 node2가 잘 올라왔는지 확인한다.

pcs status 상태

노드가 잘 올라왔다면 아래 설정값을 마저 입력해준다.

pcs property set stonith-enabled=false	# 마스터만
pcs property set no-quorum-policy=ignore	# 마스터만
pcs property set default-resource-stickiness="INFINITY" --force	# 마스터만

# VIP설정
pcs resource create vip ocf:heartbeat:IPaddr2 ip="10.10.50.4" cidr_netmask="32" op monitor timeout="30s" interval="20s" role="Slave" op monitor timeout="30s" interval="10s" role="Master"	#마스터만

# 아파치 설정
pcs resource create web_service systemd:apache2 op monitor timeout="30s" interval="20s" role="Slave" op monitor timeout="30s" interval="10s" role="Master"	#마스터만

ip addr show 명령을 하면 아래 사진과 같이 vip인 10.10.50.4 가 잘 올라온 것을 확인할 수있다.

ip addr show 명령

8.fail-over 테스트

이제 reboot now로 마스터(node1)가 죽으면 제대로 fail-over 가 되는지 테스트를 해본다.

 

vip와 apache2의 시작 노드가 반대일 경우 아래 명령문으로 동일하게 맞출수 있다.

pcs constraint colocation add web_service with vip INFINITY

 

테스트 전 pcs status
테스트 후 pcs status

pcs status의 Node List에 node1이 off 라인이 되면서 vip와 apache2가 자동으로 node2로 변경되며 HA구성이 잘 된것을 확인할 수 있다.