고가용성(HA) 및 장애 복구

고가용성(HA) 및 장애 복구

7️⃣ 고가용성(HA) 및 장애 복구

Ceph는 설계 자체가 고가용성과 자가 복구(Self-Healing)를 중심으로 되어 있습니다.
이 장에서는 Ceph의 핵심 컴포넌트인 **Monitor(MON)**와 OSD의 이중화 구조부터, 장애 복구 시나리오, 상태 확인 명령어, Dashboard를 통한 모니터링까지 다룹니다.


1. Monitor 및 OSD의 이중화

📌 구조 개요

Ceph 클러스터는 기본적으로 다음과 같은 구성으로 이중화됩니다:

  • MON(Monitor): 클러스터 상태를 관리하며, 홀수 개(보통 3개 이상)를 권장
  • OSD(Object Storage Daemon): 데이터를 저장하며, 여러 개의 디스크에 분산됨
  • Mgr: 모니터링/자동화 및 Dashboard 제공

📊 아키텍처 예시

graph TD;
  subgraph Ceph Cluster
    MON1[Monitor 1] --- MON2[Monitor 2] --- MON3[Monitor 3]
    MGR1[Manager]
    OSD1[OSD 1] --> Disk1
    OSD2[OSD 2] --> Disk2
    OSD3[OSD 3] --> Disk3
  end
  Client[Pod or PVC] --> MON1
  • MON이 하나 죽어도 과반수가 남아있으면 클러스터 정상 유지
  • OSD가 하나 죽어도 복제된 데이터 덕분에 서비스 지속 가능

2. OSD Failure 시 자동 복구 시나리오

💥 장애 발생 예시

  • 디스크가 물리적으로 고장
  • OSD Pod Crash
  • 노드 자체 장애

🔄 복구 흐름도

sequenceDiagram
  participant Node1 as Node (OSD1)
  participant Node2 as Node (OSD2)
  participant MON as Ceph Monitor
  participant MGR as Ceph Manager

  Node1->>MON: Heartbeat 끊김
  MON->>MGR: OSD1 DOWN 알림
  MGR->>Ceph: 데이터 복제 재조정 (Backfill/Recovery)
  Ceph->>OSD2: 다른 OSD에서 데이터 복제 시작

✅ Ceph는 PG 단위로 데이터를 다시 재배치하여 복제 수를 유지합니다.


3. Ceph Health 체크 (ceph status, ceph health)

🩺 주요 명령어

# 클러스터 전체 상태 확인
ceph status

# 간단한 헬스 코드 확인
ceph health

# OSD 상태 확인
ceph osd tree

# PG 상태 확인
ceph pg stat

📘 예시 출력

cluster:
    id:     fdf7c1c8-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    health: HEALTH_WARN
            1 osds down
            Degraded data redundancy: 1 pg undersized

services:
    mon: 3 daemons, quorum a,b,c
    mgr: active (xyz), standbys: none
    osd: 3 osds: 2 up, 3 in

🔍 HEALTH_WARN, HEALTH_ERR 등 다양한 상태를 통해 실시간 감지가 가능


4. Ceph Dashboard를 통한 모니터링 및 알림 설정

📊 Dashboard 접속

Ceph는 Web UI를 기본 제공합니다.

# Enable Dashboard
ceph mgr module enable dashboard

# Admin 계정 생성
ceph dashboard set-login-credentials admin password

# HTTPS 대시보드 활성화 (Self-Signed SSL)
ceph dashboard create-self-signed-cert

# 포트 확인
ceph config get mgr mgr/dashboard/server_port

🌐 접속 예시

https://<mgr-node-ip>:<dashboard-port>

📸 Dashboard 주요 화면

  • Cluster 상태
  • OSD 별 상태/용량
  • PG 상태
  • Performance Metrics (IOPS, Latency 등)

🔔 알림 설정

Dashboard에서는 이메일, webhook 등을 통한 알림(Notification) 설정도 가능합니다.


✅ 마무리 요약

항목 설명
MON 이중화 과반수 유지 시 정상 작동
OSD 장애 복구 자동 복제/재배치 기능으로 자가 치유
Health 명령어 ceph status, ceph health 등으로 실시간 진단
Dashboard GUI 기반 모니터링 및 장애 탐지/알림

RSS Feed
마지막 수정일자