Master/Slave로 Pacemaker를 설치해보자.
오픈소스로, 자원관리를 통해 이중화가 가능한 Pacemaker를 알아보자.
- 고가용성 클러스터 자원관리 오픈소스입니다.
- 여러 대의 서버를 클러스터로 묶어 자원관리를 통해 이중화가 가능한 소프트웨어입니다.
- (Fail Over)하나의 노드가 장애가 생겼을 때 다른 노드가 서비스를 이어받아 서비스 중단 없이 운영이 가능합니다.
- 모니터링 및 제어 기능
- 네트워크, 노드, 디스크 등
- OS:Ubuntu22.04 CLI
- CPU:8core
- MEMORY:16GB
- DISK:50GB
- IP:192.168.0.57 / control / gpuadmin1
- IP:192.168.0.56 / node1 / gpuadmin2
- IP:192.168.0.43 / vip / vip
- (1) Pacemaker 설치 (ControlNode, SlaveNode 둘 다 설정해 줍니다.)
(1-1) 우선 /etc/hosts 쪽에 해당 control, node1 의 IP를 넣어줍니다.
아래 이미지처럼 IP, HOSTNAME을 넣어주시면 됩니다. [위에 만약 같은 호스트 네임이 있다면 주석처리해 주세요.]
(1-2) Pacemaker를 설치해 줍니다.
- #sudo apt install pacemaker pcs
- #sudo vi /usr/lib/systemd/system/corosync.service
- #wq!
아래 이미지처럼 Type=simple로 바꿔주세요.
- #sudo passwd hacluster
- #sudo systemctl restart pcsd
(2) Pacemaker 설정해 줍니다. (Control Node만)
- #sudo pcs host auth control node1 -u hacluster
- #sudo pcs cluster setup FileCluster control node1 —force
아래와 같이 successful이라고 나오면 됩니다.
(2-1) 이제 Pacemaker를 시작해 줍니다. (Control, Slave 둘 다)
- #sudo pcs cluster start
- #sudo pcs cluster enable
(2-2) 아래 명령어로 Control, Slave 두대다 잘 올라왔는지 확인해 줍니다.
- #sudo pcs status #node list 확인하시면 됩니다.
- #sudo pcs cluster status #아래 사진 참고
(3-3) 나머지 설정값을 입력해 줍니다. (Control만)
- #sudo pcs property set stonith-enabled=false
- #sudo pcs property set no-quorum-policy=ignore
- #sudo pcs property set default-resource-stickiness="INFINITY" --force
(3-4) 나머지 vip 설정을 해줍니다. IP는 vip IP로 넣어주시면 됩니다.(Control만)
- #sudo pcs resource create vip ocf:heartbeat:IPaddr2 ip=”192.168.0.43” cide_netmask=”32” op monitor timeout=”30s” interval=”20s” role=”Slave” op monitor timeout=”30s” interval=”10s” role=”Master” --force
(3-5) 아파치를 설정해 줍니다. (Control만)
- #sudo pcs resource create web_service systemd:apache2 ip monitor timeout=”30s” interval=”20s” role=”slave” op monitor timeout=”30s” interval=”10s” role=”Master” --force
설정이 끝난 후, 아래 이미지처럼 vip IP도 잘 뜨는 것을 확인할 수 있습니다. (# ip ad)
(4) 설정이 다 끝난 Pacemaker를 웹브라우저로 실행시키면 아래 이미지처럼 나옵니다.
- https://[ControlNoedIP]:2224
- Username: hacluster
- Password:(1-4)에서 설정하신 암호
(4-1) 로그인 후, 아래 이미지처럼 Add Existing를 누르신 후, 해당 Node의 HostName으로 Node를 추가하시면 됩니다.
추가 후, 아래 이미지처럼 기존 클러스터가 추가되신걸 확인할 수 있습니다.
이제 여기서 클러스터의 상태를 확인하거나 관리할 수 있습니다.