본문 바로가기
공부/HA

[HA] HA와 Pacemaker + 관련된 개념들

by haejang 2021. 4. 11.
728x90
728x90

 

HA란?

  • High Availability (고가용성)
  • 즉 애플리케이션의 다운타임을 최소화하는 것이다
  • 이를 구현하려면 2개 이상의 호스트들을 묶어서(Clustering) 하나의 호스트가 죽을 시 다른 호스트가 그 역할을 대신 이어나가야 한다
  • 이중화 구성을 하는 것
  • 윈도우같은 경우는 MSCS를 통해 GUI로 구현 가능

Pacemaker란?

  • 리눅스의 이중화 도구
  • 오픈소스 HA Cluster Resource Manager
  • 즉, 여러 대의 호스트들을 Cluster로 묶고 그 호스트들의 자원을 관리한다

Pacemaker의 내부 구성 요소

출처 : https://clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html-single/Clusters_from_Scratch/

 

  • CRMd (Cluster Resource Management daemon)
    • main controlling process
    • 모든 리소스 작업 라우팅
  • CIB (Cluster Information Base)
    • 설정 정보 관리 데몬 - XML 파일로 설정
  • PEngine (PE, Policy Engine)
    • 현재 클러스터 상태 및 구성을 기반으로 다음 상태 결정
  • LRMd (Local Resource Management daemon)
    • CRMd와 각 리소스 사이의 인터페이스 역할 / CRMd의 명령을 agent에 전달
    • CRM이 수행되어 보고된 결과에 따라 start/stop/monitor 동작
  • STONITHd (Shoot The Other Node In The Head daemon)
    • 그대로 번역한다면 "다른 노드의 머리를 쏜다"
    • 즉, 오류가 발생한 호스트(노드)나 리소스를 비활성화 시키는 Fencing 기능 수행
    • 다른 노드의 서비스 이상이나 Power-off 등이 감지되면 해당 노드나 서비스를 재시작한다
    • 서비스가 중복으로 실행되어 충돌나는것을 방지

STONITH / 출처 : https://ourobengr.com/ha/

CoroSync

  • Pacemaker가 현재 호스트에서 서비스들이 잘 동작하고 있는지 확인하는 역할이라면
  • Corosync는 호스트간에 메시지를 주고받는 역할을 수행
  • Pacemaker는 Resource Manager / Corosync는 Messaging Layer

Heartbeat

  • Corosync랑 비슷한 역할이긴 하나 조금 다른듯해서 쓴다
  • 클라이언트에 클러스터 인프라(통신 및 멤버십) 서비스를 제공하는 데몬
  • 이를 통해 클라이언트는 다른 호스트에서의 서비스 이상 등을 감지할 수 있고 메시지를 쉽게 교환할 수 있다고 한다

RA (Resource Agent)

  • Pacemaker가 서비스를 관리할 수 있는 추상 개념
  • local resource의 start/stop/monitor 스크립트 제공
  • LRM에 의해서 호출됨
  • Pacemaker 제공 RA 지원 타입
    • LSB : Linux Standard Base "init scripts"
    • OCF : Open Cluster Framework
    • etc...

Pacemaker 클러스터 유형

출처 : https://clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html-single/Clusters_from_Scratch/

pcs (pacemaker configuration system)

  • Pacemaker, Corosync, Heartbeat 등의 데몬들 제어하는 CLI 명령어 도구
  • pcs <parameter1> <parameter2> .. 이런 식으로 쓰인다
  • parameter : cluster, resource, stonith, constraints, property, status, config

DRBD (Distributed Replicated Block Device)

  • HA 클러스터를 구성하기 위해 Block 단위로 분산 복제하는 장치
  • Active 상태의 서버 disk에 데이터를 저장하면서 네트워크를 통해 standby 서버에 미러링하는 방식으로 이중화
  • 즉, 네트워크를 통한 디스크 미러링!

 

출처 : https://chine.tistory.com/2

 

참고

 

728x90
728x90

'공부 > HA' 카테고리의 다른 글

[HA] Fencing과 SBD  (0) 2021.04.16
[Pacemaker] CentOS 7에 Pacemaker 구성하기  (1) 2021.04.11

댓글