좋습니다. 이번에는 오픈소스 분산 스토리지 시스템인 Ceph (특히 CephFS) 에 대해 심층적으로 설명드리겠습니다.
Ceph는 고가용성, 고확장성을 목표로 설계된 오픈소스 분산 스토리지 시스템입니다.
크게 세 가지 주요 스토리지 서비스를 제공합니다.
서비스 |
설명 |
---|---|
RBD (RADOS Block Device) |
블록 스토리지 제공 (VM 디스크 등) |
RGW (RADOS Gateway) |
오브젝트 스토리지 제공 (S3, Swift 호환) |
CephFS (Ceph File System) |
POSIX 준수 분산 파일 시스템 제공 |
특히 CephFS는 파일 기반 스토리지 공유를 목적으로 사용하며, 네이티브 POSIX API를 지원합니다. 즉, 기존 파일 시스템처럼 사용할 수 있으면서도 분산, 복제, 자가 복구 기능을 자동으로 제공합니다.
Ceph는 다음과 같은 핵심 컴포넌트로 구성됩니다.
컴포넌트 |
역할 |
---|---|
MON (Monitor) |
클러스터 상태 관리 (맵 관리, 인증, 모니터링) |
MDS (Metadata Server) |
CephFS 메타데이터(디렉토리, 파일명 등) 관리 |
OSD (Object Storage Daemon) |
실제 데이터 블록 저장 및 복제, 리밸런싱 |
RADOS (Reliable Autonomic Distributed Object Store) |
Ceph 클러스터의 핵심 분산 객체 저장소 |
RGW |
오브젝트 스토리지 (S3, Swift API 제공) |
Client |
Ceph 클러스터에 접근하는 서버 또는 사용자 |
CephFS를 사용하려면 특별히 MDS 서버가 필수로 필요합니다.
MDS는 메타데이터(디렉토리 구조, 파일명, 권한 등)를 관리하고, 실제 파일 데이터는 OSD에 저장합니다.
POSIX 호환: open, read, write, chmod 등 시스템 콜을 지원
고가용성: 다중 MON, 다중 MDS 구성 가능
자가 복구: OSD 장애 시 자동으로 데이터 복제 및 복구
확장성: 수십~수천 대 서버로 무중단 확장 가능
성능 최적화: 메타데이터 캐시 지원, I/O 최적화
QoS 정책: 클라이언트별 대역폭 제한 가능
암호화 및 인증: CephX 인증, TLS 통신 지원
클라이언트가 MON에 접속하여 클러스터 맵을 받아옴
파일 시스템 작업 시 MDS에 메타데이터 요청
파일 데이터는 직접 OSD를 통해 읽기/쓰기
MDS는 파일 잠금 관리(locking) 및 consistency 보장
데이터 무결성 체크 및 장애 자동 복구
3개 MON 서버 (고가용성)
5개 OSD 서버 (스토리지 서버)
2개 MDS 서버 (메타데이터 서버)
Ceph Client (mount하거나 커널 클라이언트로 접근)
Mount 방법 예시
mount -t ceph {mon-ip-addr}:6789:/ /mnt/cephfs -o name=client.admin,secret={key}
또는 ceph-fuse를 사용할 수도 있습니다.
ceph-fuse -n client.admin /mnt/cephfs
OS 준비
Ubuntu, CentOS, Rocky Linux 등 지원
NTP, SSH 설정
Ceph 설치
cephadm, ceph-ansible 또는 수동 설치
최신 버전: Pacific(16.x), Quincy(17.x), Reef(18.x)
MON, OSD 배포
MON 부터 클러스터 초기화
OSD 디스크 등록 및 배포
MDS 생성
ceph fs volume create cephfs
CephFS 마운트 및 테스트
장점 |
단점 |
---|---|
무제한 확장 가능 |
초기 설치 및 운영 복잡도 높음 |
장애 복구 자동화 |
네트워크 트래픽 및 OSD 간 동기화 부담 |
통합 관리 (RBD, RGW, CephFS) |
스토리지 노드 성능(디스크/네트워크)에 민감 |
오픈소스 무료 사용 가능 |
관리 경험 없으면 초기 학습 곡선 존재 |
항목 |
CephFS |
GlusterFS |
NFS 서버 |
---|---|---|---|
확장성 |
매우 뛰어남 |
중간 수준 |
낮음 |
장애 복구 |
자동화 (RADOS 레벨) |
수동 조정 필요 |
기본 지원 없음 |
설치 복잡도 |
높음 |
중간 |
낮음 |
성능 |
높은 병렬 처리 가능 |
상대적으로 느림 |
단일 서버 한계 |
사용 사례 |
클라우드, 데이터센터 |
중소기업 파일 공유 |
간단 파일 공유 |
Red Hat OpenStack: 블록/파일 스토리지 백엔드로 Ceph 사용
SAP Hana 백업: 대규모 데이터 백업 저장소로 Ceph 사용
클라우드 서비스 제공자: VM 스토리지 및 백업용으로 Ceph 활용
고성능 컴퓨팅(HPC): 과학연구소, 금융분석 데이터 저장
CephFS는 고성능, 고확장성을 가진 오픈소스 분산 파일 시스템이다.
중대형 환경에서 뛰어난 데이터 무결성, 고가용성, 확장성을 보장한다.
설치와 운영이 복잡하지만, 한 번 구축하면 뛰어난 안정성과 성능을 제공한다.
추가로 원하시면:
CephFS 실제 구축 예제
MDS 고가용성 구성법
Ceph 클러스터 튜닝 및 성능 최적화 방법
Ceph와 Kubernetes 통합(CSI Driver 활용) 방법
도 바로 자세히 설명드릴 수 있습니다.
추가로 “CephFS를 어디에 사용할지”에 따라 튜닝 방향이 달라지는데, 사용하려는 목적이 무엇인가요? 예를 들면 백업용, 대용량 파일 스토리지용, 클라우드 플랫폼용 등 어떤 용도인지 알려주시면 더 맞춤형 안내를 해드리겠습니다.