본문 바로가기 대메뉴 바로가기

테크니컬 스토리

아이티마야의 새로운 기술 뉴스를 만나보세요.
오픈소스로, 자원관리를 통해 이중화가 가능한 Pacemaker를 알아보자.
등록일
2024.01.02
첨부파일
Master/Slave로 Pacemaker를 설치해보자.
오픈소스로, 자원관리를 통해 이중화가 가능한 Pacemaker를 알아보자.
  • Pacemaker란,
  • 고가용성 클러스터 자원관리 오픈소스입니다.
  • 여러 대의 서버를 클러스터로 묶어 자원관리를 통해 이중화가 가능한 소프트웨어입니다.
  • Pacemaker의 기능들
  • (Fail Over)하나의 노드가 장애가 생겼을 때 다른 노드가 서비스를 이어받아 서비스 중단 없이 운영이 가능합니다.
  • 모니터링 및 제어 기능
  • 네트워크, 노드, 디스크 등
  • 저의 구성환경입니다.[2대 동일합니다]
  • 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, node1IP를 넣어줍니다.

  • #sudo vi /etc/hosts
  • #wq!

아래 이미지처럼 IP, HOSTNAME을 넣어주시면 됩니다. [위에 만약 같은 호스트 네임이 있다면 주석처리해 주세요.]

(1-2) Pacemaker를 설치해 줍니다.

  • #sudo apt install pacemaker pcs

(1-3) 설정 변경해 줍니다.

  • #sudo vi /usr/lib/systemd/system/corosync.service
  • #wq!

아래 이미지처럼 Type=simple로 바꿔주세요.

(1-4) 패스워드를 설정해 줍니다.

  • #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를 추가하시면 됩니다.

추가 후, 아래 이미지처럼 기존 클러스터가 추가되신걸 확인할 수 있습니다.

이제 여기서 클러스터의 상태를 확인하거나 관리할 수 있습니다.

PLEASE WAIT WHILE LOADING...