CephFS vs Ceph-RBD

YYY·2025년 5월 11일

📦 CephFS vs Ceph RBD: 어떤 파드 리소스와 조합해야 할까?

쿠버네티스에서 Ceph를 사용할 때,
CephFSCeph RBD는 각각의 특성에 따라 StatefulSet이나 Deployment와 조합됩니다.

하지만 둘 다 특정 리소스에 고정된 건 아니고,
파드가 어떻게 데이터를 쓰고 읽는지에 따라 조합이 달라집니다.


🔍 CephFS vs Ceph RBD 비교

구분CephFSCeph RBD
타입공유 파일 시스템 (POSIX, RWX 지원)블록 스토리지 (RWO 위주)
동시 접근여러 파드에서 동시에 읽기/쓰기 가능보통 1개 파드만 마운트 가능 (RWO 제한)
마운트 방식디렉토리로 마운트 (/mnt/shared)디바이스처럼 마운트 (/dev/rbdX)
주요 사용 사례정적 파일 공유, 업로드 저장소, 캐시 공유 등데이터베이스, 메시지 큐, 분산 로그 저장 등

✅ 어떤 조합이 적절할까?

✔️ CephFS + Deployment

  • 여러 파드가 같은 정적 콘텐츠를 공유해야 할 때
  • 예시:
    • NGINX 다중 인스턴스 → /usr/share/nginx/html 공유
    • 파일 업로드 → 모든 파드가 /data/uploads 공유

✔️ CephFS + StatefulSet

  • 상태 저장 서비스지만 파드 간 공통 디렉터리가 필요한 경우
  • 예시:
    • Redis 노드들이 공통 로그 디렉터리에 쓰는 경우

✔️ Ceph RBD + Deployment

  • 파드가 1개만 떠 있거나, 단일 마운트만 필요한 경우
  • 예시:
    • 하나의 백엔드 앱이 RWO 볼륨에만 쓰는 구조

✔️ Ceph RBD + StatefulSet (⭐ 정석 조합)

  • 각 파드마다 고유한 디스크가 필요한 경우
  • 예시:
    • MySQL 샤딩
    • Kafka 브로커
    • Vitess 샤드 → vttablet-0, vttablet-1

🧠 요약

조합적합한 상황
CephFS + Deployment정적 콘텐츠 공유, 업로드, 캐시 공유 등 다수 파드가 같은 파일을 접근할 때
CephFS + StatefulSet상태 저장 서비스지만 공유 디렉터리가 필요한 특수 상황
Ceph RBD + Deployment단일 파드만 쓸 경우, 또는 교대 방식으로만 마운트할 경우
Ceph RBD + StatefulSet파드마다 고유 데이터 디스크가 필요한 경우 (DB, 샤드 구조 등)

✅ 결론

  • CephFS: 여러 파드가 같은 데이터를 공유해야 할 때 가장 적합
  • Ceph RBD: 파드마다 자기 디스크를 독립적으로 관리해야 할 때 가장 적합
  • Kubernetes 리소스는 스토리지 특성에 맞춰 선택해야 하며,
    Ceph의 타입에 따라 Deployment나 StatefulSet 모두와 조합이 가능합니다.
profile
무지렁이 탈출기

0개의 댓글