무지개곰
article thumbnail

고가용성 클러스터란?

고가용성 클러스터는 시스템 장애 시에도 서비스가 중단되지 않고 지속적으로 제공될 수 있도록 구성된 서버그룹을 의미합니다.

이러한 클러스터는 여러 노드로 구성되며, 각 노드는 서로 연동하여 한 노드에 장애가 발생하더라도 다른 노드가 서비스를 인계받아 운영을 지속할 수 있습니다.


pacemaker란?

pacemaker는 클러스터의 리소스를 관리하는 핵심 소프트웨어로 서비스의 가용성을 보장하기 위해 다음과 같은 주요 기능을 제공합니다.

 

리소스 모니터링 - 클러스터 내의 리소스(서비스, 애플리케이션 등)의 상태를 지속적으로 확인

장애 처리 - 특정 리소스나 노드에 장애가 발생하면, 이를 자동으로 복구하거나 다른 노드로 리소스를 이전

정책 기반 관리 - 클러스터의 리소스 운영에 대한 다양한 정책을 정의하고, 이를 자동으로 실행


corosync란?

corosync는 클러스터 내의 노드들이 서로 통신할 수 있도록 지원하며, 클러스터 멤버십 및 메시징 기능을 제공합니다.

 

노드 간 통신 - 클러스터 내 모든 노드가 서로의 상태를 인지할 수 있도록 주기적인 메시지 교환

장애 감지 - 특정 노드가 응답하지 않거나 네트워크에서 격리되었을 때 이를 감지하고, 해당 정보를 pacemaker에 전달


pacemaker와 corosync의 연동

pacemaker와 corosync는 서로 밀접하게 연동되어 클러스터의 안정성과 가용성을 보장합니다.

corosync가 클러스터 노드 간의 통신과 상태 정보를 제공하면, pacemaker는 이를 기반으로 리소스의 상태를 관리하고, 필요시 리소스를 다른 노드로 이동시킵니다.

pcs를 통한 관리의 편리성

pcs(pacemaker/corosync configuration system)은 pacemaker와 corosync의 설정과 관리를 위한 도구입니다.

pcs를 사용하면 클러스터의 설정을 직관적으로 할 수 있어 관리의 편의성이 크게 향상됩니다.

pcs 없이도 pacemaker를 설정하고 운영할 수 있습니다.


예시

pacemaker 설치와 mysql 복제 설정에 대한 부분은 다음에 다루도록 하겠습니다.

pcs를 활용하여 리소스 생성

pcs resource create mysql-vip ocf:heartbeat:IPaddr2 \
    ip=192.168.1.100 cidr_netmask=24 \
    op monitor interval=30s

리소스에서 지정한 VIP를 통하여 web server가 mysql에 접근합니다.

node1을 활용하여 mysql에 정보를 저장하였다면 다른 노드에도 복제가 이루어집니다.

node1에 장애가 발생하면 pacemaker가 해당 리소스를 node2로 이전하여 web server에서는 mysql에 대하여 고가용성을 얻게 됩니다.

 

제가 잘못이해한 부분이 있다면 댓글로 피드백 부탁드립니다.

'Linux' 카테고리의 다른 글

[lvm] 스토리지 관리 (PV, VG, LV)  (0) 2024.08.25
profile

무지개곰

@무지개곰

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!